0

jQuery検証プラグイン(http://docs.jquery.com/Plugins/Validation/validate)を使用する場合:

次の動作が必要です。ユーザーが送信を押したらすぐに検証します(実際に送信する代わりに、ajax postリクエストを使用しています)。

ただし、次のようになります。送信を押すと検証が実行され、該当する場合は検証エラーが発生します。次に、間違いを修正して送信を押すと、フォームが再検証されますが、検証エラーがない場合は、 ajax投稿は作成されず、フォームのみが検証されます。

最初に検証エラーがない場合、投稿は必要に応じて即座に行われます。

私は次のものを持っています:

    <script type="text/javascript">
        $(document).ready(function(){ 
            $("#form").validate({
                onkeyup: false,
                onclick: false,
                onsubmit: true,
                rules: {
                    telNR: {
                        required: true,
                        digits: true,
                        minlength: 10
                    }
                },
                messages: {
                    telNR: {
                        required: "Fill in a valid telephone NR",
                        minlength: "A telephoneNR is 10 characters long",
                        digits: "Use only numerics"
                    }
                },
                submitHandler: function(form) {
                    var jqxhr = $.post("sendMail.php", { telNR: $("#telNR").val() },
                    function(data) {
                        alert("Done");
                    })
                    .error(function(jqXHR){
                        alert("Error");
                    });
                }    
            });
        })
    </script>
4

1 に答える 1

0

ゴースト検証エラーが発生している可能性があります。フォームのフォーカスでエラーをクリーンアップするには、オプションに次を追加してみてください。

focusCleanup: true
于 2012-09-17T18:33:42.887 に答える