jQuery を使用して送信する予定のフォームがあります。次のコードは、初めて正常に動作します。
返されるデータが「更新済み」の場合、#cart-content 要素内でフォームを再作成します。つまり、フォームを送信してカートを更新すると、サイトに新しいフォームが作成されます (同じクラス、同じ入力などがあります)。
その後、もう一度送信をクリックすると、jQuery コードがトリガーされません。ページがロードされたときに存在しなかった新しいフォームであるため、jQueryはそのイベントにバインドされておらず、フォームを送信してもトリガーされないためだと思います。
動作させるには何を変更する必要がありますか? 前もって感謝します!
$("form.update-cart").on("submit", function(event){
$.post(link + "create_order/update_cart", $(this).serialize(),
function(data){
if(data == 'updated')
{
var csrf_cookie = $.cookie('csrf_cookie_name');
$("#cart-content").load(link + "create_order/display_cart", {"csrf_test_name": csrf_cookie});
}
else if(data == 'nothing-to-update')
{
return false;
}
else
{
alert("Couldnt update cart!");
}
});
return false;
});