4

送信ボタンをクリックしたときにフォームの有効性を確認したい。有効な場合、フォームを送信する必要があります。それ以外の場合は何もしません。送信ボタンを無効にし、クリックして有効性を確認して有効にしようとしました。しかし、このアプローチには 2 つの問題があります。1: 無効なボタンでクリックが検出されない 2: クリックが検出されたとしても、おそらく無限ループに陥るでしょう。ボタンが有効になった後の 2 回目のクリックで、有効性チェックが再度トリガーされます。

4

1 に答える 1

6

を使用する必要がありますevent.preventDefault()。これを読んでください:http://api.jquery.com/event.preventDefault/

大まかなサンプルコードドラフト:

$('your-submit-button').click(function(event){
    if (! validate() ) {
        event.preventDefault();
        showErrors();
    }
})

検証関数はどこvalidate()にありますか。検証が失敗した場合はfalseを返します。

編集:
必要なため、 サンプルハンドラーはclickイベントにバインドされます

送信ボタンをクリックしてフォームの有効性を確認するには

あらゆるタイプのフォーム送信に対して検証を行うには、の.submit()代わりにを使用することをお勧めします。.click()サンプルはほとんど変更されていません。

$('#your-form-id').submit(function(event){
    if (! validate() ) {
        event.preventDefault();
        showErrors();
    }
})
于 2012-06-29T07:20:31.757 に答える