タイトルが示唆するように、私はajaxを使用してフォーム結果を外部ファイルに送信しています。AJAX submit form、return success
Ajaxを追加するまで、jQueryは完全に機能します(つまり、関連するリンクをクリックするとフォームが表示されます)。その後、すべてが破損します。
私はそれを何十回も見てきましたが、私が間違っていることは本当に分かりません。
jQueryの+ AJAX:
$(document).ready(function(){
$("#change_shelves").click(function(){
$("#add_to_shelf").fadeIn(function(){});
});
$("#add_to_shelf_submit_button").click(function(){
var shelfID = $('#shelf').val();
$.ajax({
type: "post",
url: "add_to_shelf.php",
data: "shelfID=" + shelfID + "&bookID=" + <?php $_GET['id'] ?>,
success: function() {
$("#add_to_shelf").fadeOut(function(){});
$("#success").fadeIn(function(){});
}
});
});
});
HTML:
<p id="on_shelf">This book is on your <a href="want_to_read.php">want to read</a> shelf. <span id="change_shelves"><a href="#">Change shelves</a></span>.</p>
<form style="display: none;" id = "add_to_shelf" method="POST" action="add_to_shelf.php">
<select name = "shelf">
<option value = "1">Read</option>
<option value = "2">Want to Read</option>
<option value = "3">Reading</option>
</select>
<input type = "submit" id="add_to_shelf_submit_button" value = "submit" name = "Submit" />
</form>
<p style="display: none;" id="success">Shelf updated.</p>
外部ファイルadd_to_shelf.php
が非問題です - 唯一のjQueryを使用したときのデータが正常に送信され、私は、ファイルがある知っています正しい。
最後の行の直前の行に、そのタイプミスまたは余分な '});がありますか? –
具体的な問題は何ですか、「全体が壊れる」とはどういう意味ですか? – mariogl
さて、うまくいきました。私はajaxを動作させるためにフォーム内のアクションを削除する必要がありました。 –