多くの入力フィールドを持つ巨大なフォームウィザードを作成しています。フィールドはdisplay: none;
のセクションの内側にあり、ボタンをクリックするとセクションを歩いていき、最後にフォームを送信します。あるセクションの中には、ajax経由で画像をアップロードする別のフォームがあります。 ajaxを使用するには、フォームがevent.preventDefault();
と提出されないようにする必要がありますが、これによりペアレンタルフォームが送信されます。親のフォームが提出されないようにするにはどうすればいいですか?フォーム内のフォームの送信を防止する
<form action="" id="wizard">
<section id="sec1"></section>
<section id="sec2">
<form id="ajaxform">
<input type="file" id="ajaxfile">
<input type="submit" value="upload">
</form>
</section>
<section id="sec3"></section>
<button type="button">Back</button>
<button type="button">Next</button>
</form>
jQueryのは、次のようになります:
$(document).ready(function() {
$('#ajaxform').submit(function(e) {
e.preventDefault();
$.ajax({stuff...});
});
});
[event.stopPropagation()](https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation)を試しましたか? –
「
https://stackoverflow.com/questions/379610/can-you-nest-html-forms –