通过Ajax加载后,PHP表单将不会提交

时间:2013-11-09 08:22:35

标签: php jquery forms

我有一个表单的第一页,然后我使用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;
}   
 ?>

2 个答案:

答案 0 :(得分:3)

如果我查看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>

答案 1 :(得分:0)

您没有提供有关join_submit.php文件的任何信息。您必须在Firefox浏览器中检查firebug控制台,以获取join_submit.php文件的返回值。是否成功功能。然后,只有您可以跟踪它没有加载第二个表单的原因。在Chrome浏览器中,您可以通过单击F12然后单击网络来跟踪ajax请求。

希望有所帮助