0

フォームの最初のページがあり、jQuery を使用してフォームの 2 番目の部分を読み込みます。ただし、フォームで [送信] をクリックしても何も起こらず、ページがここで動かなくなります。何か案は?

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>

アップロードPDF.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;
}   
 ?>
4

2 に答える 2

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>
于 2013-11-09T08:33:44.377 に答える
0

join_submit.php ファイルに関する情報を提供していません。Firefox ブラウザーにある firebug コンソールで、join_submit.php ファイルの戻り値を確認する必要があります。成功関数になるかどうか。次に、2 番目のフォームをロードしていない理由を追跡できるのはあなただけです。Chrome ブラウザーでは、F12 をクリックしてから [ネットワーク] をクリックすることで、ajax 要求を追跡できます。

それが役に立てば幸い

于 2013-11-09T08:36:34.127 に答える