У меня есть первая страница формы, а затем я использую jQuery для загрузки второй части формы. Однако после того, как я нажму кнопку "Отправить" в форме, ничего не происходит, страница просто застряла здесь. Есть идеи?
JQuery:
$.ajax({
type: "POST",
url: "join_submit.php",
data: data,
success: function () {
$("#regform").load("submitTranscript.php");
}
});
submitTranscript.php:
<div id="regform>
<form id="uploadTranscript" action="uploadPDF.php" enctype="multipart/form-data" method="post">
<div class="separation">
<h3>Upload Transcripts</h3>
<div class = "row">
<div class="large-6 offset-2 columns">
<label for = "studid">Enter your student ID:</lable>
<input type="text" name="studid" id="studid"
</div>
<p>Please label your transcript with your user id (i.e. 123456.pdf).</p>
<div class="row">
<div class="large-6 offset-2 columns">
<input type="file" name="transcript" id="transcript">
</div>
</div>
<div class="buttonRow">
<div class="button" id="submit">Submit</div>
</div>
</div>
</form>
</div>
uploadPDF.php:
<?php
require_once("included.php"); //server info
$allowedExtensions = array("pdf");
$max_filesize = 20000;
$upload_path = "docs/transcripts/";
$filename = $_FILES["transcript"]["name"];
$filesize = $_FILES["transcript"]["size"];
$extension = $_FILES["transcript"]["type"];
if ($_FILES["transcript"]["error"] > 0) {
echo "Error: " . $_FILES["transcript"]["error"] . "<br />";
}
else if((in_array($extension, $allowedExtensions)) && ($filesize < $max_filesize)) {
move_uploaded_file($_FILES["transcript"]["tmp_name"], $upload_path . $filename);
}
else if($filesize > $max_filesize){
$fileSizeFail = true;
}
else {
$fileTypeFail = true;
}
?>
Если я загляну в submitTranscript.php, вы отправили следующую форму для отправки своей формы:
<div class="buttonRow">
<div class="button" id="submit">Submit</div>
</div>
Но вы не ввели кнопку отправки, чтобы отправить форму. Элемент Div не может публиковать или отправлять какие-либо формы. Поэтому я бы предложил ввести кнопку ввода типа ввода, а затем попытаться отправить форму через эту кнопку.
Таким образом, код будет:
<div class="buttonRow">
<div class="button" id="submit">
<input type="submit" name="form_submit" value="Submit" />
</div>
</div>
Вы не указываете информацию о файле join_submit.php. Вы должны проверить консоль firebug, присутствующую в браузере Firefox, что является возвращаемым значением вашего файла join_submit.php. Будет ли это успех успешной или нет. Тогда только вы можете отслеживать, почему он не загружает вторую форму. В браузере Chrome вы можете отслеживать запрос ajax, нажав F12, а затем Network.
Надеюсь, поможет