質問

フォーム上の検証プラグインを使用して、正しい入力を取得します。

それが完了した場合、入力値が最後の入力よりも50%大きいかどうかを確認する必要があります(隠しフィールドにフォームに保存されています)。 「50%プラスの場合は新しい番号ですか?はい/いいえ」と言っているダイアログについて考えています。いいえ、それから彼らは会社に戻ります、はい、それは発砲します。

私はいくつかのカスタム関数を試しましたが、同じ問題は、jQueryの検証プラグインがフォームの送信を続けているため、私の確認ダイアログが何度も何度もポップアップすることです。

質問は次のとおりです。検証プラグインが完了し、フォームを発射する準備ができた後、確認を追加するにはどうすればよいですか?または同じ問題に対する他の解決策。

br。アンダース

  • 最後の解決策はサーバーサイドを行うことですが、それはそれほど滑らかではありません
役に立ちましたか?

解決

使用できます submitHandler 折り返し電話:

$('#myform').validate({
    submitHandler: function(form) {
        if (confirm('blabla?')) {
            form.submit();
        }
    }
});

ドキュメントからの引用:

フォームが有効な場合、実際の送信を処理するためのコールバック。フォームを唯一の引数として取得します。デフォルトの送信を置き換えます。 Ajaxが検証された後にフォームを提出するのに適切な場所。サブマイサンドラーを使用して何かを処理し、デフォルトの送信を使用します。 「フォーム」とはDOM要素を指します。これにより、検証が再びトリガーされないことに注意してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top