OK、送信ボタンに preventDefault を配置すると、フォームの送信が停止します。この結果、必須フィールドがユーザーに通知されず、ボタンでクリック イベントが実行されるだけです。
送信ハンドラーに preventDefault を追加すると、ユーザーに必須フィールドが表示されますが、ボタンに関連付けられたクリック イベントは引き続き発生します。
両方必要です。
<form action="" method="post">
<input type="text" class="class" id="id" name="name" required="required" />
</form>
今js:
$("button").click(function(event){
event.preventDefault();
//performs function
});
これにより、必要なフォーム入力に関係なく、クリック イベントが発生します。
$("form").submit(function(event){
event.preventDefault();
});
$("button").click(function(){
//performs function
});
これにより、必要なメッセージがユーザーに表示されますが、送信ボタン機能は引き続き実行されます。両方を行うにはどうすればよいですか? これで見つけることができる他のSOの質問をいくつか見ましたが、form.submitにpreventDefaultを追加することでほとんどの回答が得られるようです。