1

なぜこれが機能しないのか、または私がやりたいことを行う別の方法を教えてください。

送信をクリックするとページにフォームがあり、それを add.php に処理し、right という DIV で開くようにします。

フォームページ

<script>
$("#Submit").click(function() {

var url = "add.php"; // the script where you handle the form input.

$.ajax({
       type: "POST",
       url: url,
       data: $("#myForm").serialize(), // serializes the form's elements.
       success: function(html){ $("#right").html(html); }
     });

return false; // avoid to execute the actual submit of the form.
});
</script>
</head>
<body>
<form action="add.php" method="post" enctype="multipart/form-data" id ="myForm">
 Name: <input type="text" name="name"><br> 
 E-mail: <input type="text" name = "email"><br> 
 Phone: <input type="text" name = "phone"><br> 
Photo: <input type="file" name="photo"><br>
<input type="submit" value="Upload">

</form>

</body>

フォームにアクションを追加して add.php に指示すると、すべて正常に動作するので、他のスクリプトは問題ありませんが、この方法で実行すると何も起こりません。 .

誰にも何か提案がありますか?

4

3 に答える 3

0

ボディタグのdivで、どのIDが正しいかを作成する必要があります。

<input id="submit" type="submit" name="upload" >

このようにbodyタグに新しいdivを追加します

<div id="right"></div>
于 2012-10-05T10:58:06.947 に答える
0

$("#Submit") セレクターは何にも一致しないため (送信ボタンには ID がなく、そのバインド試行の後に定義されます)、関数はどのイベントにもバインドされないため、実行されません。

代わりに、フォームは本来あるべき方法で動作します。送信すると、そのコンテンツが 'action' 属性で指定された URL に送信されます。これが起こることです、その div は決して触れられません。

jqueryセレクターがどのように機能するかを理解するために戻る必要があります。関数をイベントにバインドする方法。

于 2012-10-05T10:51:44.387 に答える
0

これはあなたの正確なコードですか?いくつかの問題があります:

  • $("#Submit").clickページが実際に読み込まれる前に実行されないように、ドキュメント対応ハンドラーでラップする必要があります。
  • #Submit に一致するボタンがありません
  • #right に一致する div がありません

試す

<script type="text/javascript">

jQuery(document).ready(function($) {

$("#Submit").click(function() {

var url = "add.php"; // the script where you handle the form input.

$.ajax({
       type: "POST",
       url: url,
       data: $("#myForm").serialize(), // serializes the form's elements.
       success: function(html){ $("#right").html(html); }
     });

return false; // avoid to execute the actual submit of the form.
});
});
</script>
</head>
<body>
<div id="right">
</div>

<form action="add.php" method="post" enctype="multipart/form-data" id ="myForm">
 Name: <input type="text" name="name"><br>
 E-mail: <input type="text" name = "email"><br>
 Phone: <input type="text" name = "phone"><br>
Photo: <input type="file" name="photo"><br>
<input type="submit" value="Upload" id="Submit">

</form>

于 2012-10-05T10:54:05.937 に答える