私は ajax を使用して、2 つのフォームを送信できるようにしています。
カートに追加するフォームとカートを更新するフォームの両方が同じページにあります。
次のコードを使用して、カートへの追加またはカートの送信の更新をトリガーしています。
$('#cart-container').on('submit','form',function() {
$(this).ajaxSubmit({
success: cart
});
return false;
});
function cart() {
var path = '/enter/embed-cart';
$('#cart-container').fadeTo('fast', 0.5).load(path, function() {
$('#cart-container').fadeTo('fast', 1);
});
}
ajax を無効にして両方のフォームをテストしましたが、完全に機能するため、フォームが正しく機能していることがわかります。
スクリプトを使用すると、カートへの追加フォームは正しく機能しますが、更新フォームは送信されません。奇妙なことに、関数 cart() は実行されていますが、load() が完了してもフォームは更新されていません。div #cart-container 内に 2 つのフォームがあるのは、最初のフォーム (カートに追加するフォーム) のみを対象とすることを意味するのでしょうか?
なぜこれが起こるのか誰にもわかりますか?
これは、削除された HTML です。フォームは CMS からのものであるため、あまり意味がありません。
<div id="cart-container" class="divide clearfix">
<div id="purchase-submissions" class="grid col-12 bp2-col-6">
<form method="post" action="/enter" >
<input type="submit" value="Add" class="cart-btn add-item">
</form>
</div> <!-- End of .grid -->
<div id="cart" class="grid col-12 bp2-col-6">
<form method="post" action="/enter" >
Update form details
</form>
</div> <!-- End of .grid -->
</div> <!-- End of #cart-container-->
ありがとうございました