1

新しいアイテムが追加されるたびに ajax 呼び出しを介して動的に更新されるアイテムのリストがあります。これらの各リスト アイテムにはコメント フォームが含まれており、コメント フィールドと、どのアイテムにコメントが付けられたかを示す非表示フィールドがあります。

jquery フォーム プラグインを使用して、ajax を使用してこれらのフォームを送信しています。私が実行し続ける問題は、フォームがプラグインによって認識されないため、フォームが正常に実行されることです (投稿および ajax/comment.php へのリダイレクト)。掘り下げた後、これはフォームが動的にロードされており、スクリプトがそれらを「見る」ことができないためだと思います。スクリプトを正しく実行するための可能な解決策である eval() について読んだことがあります。ページの作成に ajax を使用しない場合、コードは今のところ正しく実行されます。

 <script>
$(document).ready(function() { 
var options = {  
    url: 'ajax/comment.php',
}; 
$('.commentsubmit').submit(function() { 
    $(this).ajaxSubmit(options); 

    return false; 
}); 
}); 

</script>    
4

1 に答える 1

0

フォームが動的に読み込まれる場合は、次のように変更.submitします。

$(document).on('submit', '.commentsubmit', function () {

これにより、 を呼び出した時点で DOM に追加されていないフォームにsubmitイベントが委任されます。.commentsubmit.on

無関係な注意事項として、 http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ ではなく を使用してくださいe.preventDefault()return false

于 2013-01-29T23:36:16.443 に答える