0

JQuery検証を追加する前に、このコードは問題なく機能していました。現状では、検証は正常に機能し、送信ボタンが押されると電子メールを受け取りますが、最後の 2 つのステートメント (フォームのリセットとアラート) は起動しません。ここで私は何を間違えましたか?

<script type="text/javascript"> 
// wait for the DOM to be loaded 
        $(document).ready(function() { 
        $('#contact_form').validate({
        rules:{
        namefield:{
        required:true,
        minlength: 10
        },
        emailaddress:{
        required:true,
        minlength: 12,
        email: true
        },
        textmessage:{
        required:true,
        minlength: 12,
        maxlength: 2500
    },                  
},

        errorElement: "div",
        wrapper: "div class=\"validatemessage\""
     }),

        $('#contact_form').ajaxForm(function() {
        $('#contact_form')[0].reset(); 
        alert("Thank you for your email!");

});
});
</script>
4

3 に答える 3

0

jQuery Form Pluginを使用しているようです。

フォームをリセットするには、次の 2 つの方法があります。

方法 1 : メソッドを使用 resetForm() する

$('#contact_form').ajaxForm(function() {
    alert("Thank you for your comment!")
    $('#contact_form').resetForm();
});

方法 2 : resetForm フォーム オプションで属性を使用する

resetForm
送信が成功した場合にフォームをリセットするかどうかを示すブール値フラグ
デフォルト値: null

于 2012-12-26T09:22:59.577 に答える
0

ajaxForm呼び出しをsubmitHandler検証プラグインの関数に移動します。

$(document).ready(function(){
   $("#contact_form").validate({
      rules:{
        namefield:{
        required: "Please enter your name",
        minlength: 10
        },
        emailaddress:{
        required:true,
        minlength: 12,
        email: true
        },
        textmessage:{
        required:"Your message is too short.",
        minlength: 12,
        maxlength: 2500

        }                 
    },

    errorElement: "div",
    wrapper: "div",  
    submitHandler:function(form){
      $(form).ajaxForm(function() {
        alert("Thank you for your comment!")
        form.reset();
      });
    }                    
  });
});
于 2012-12-26T17:04:25.467 に答える
0
            $(document).ready(function() { 
        $('#contact_form').validate({
        rules:{
        namefield:{
        required:true,
        minlength: 10
        },
        emailaddress:{
        required:true,
        minlength: 12,
        email: true
        },
        textmessage:{
        required:true,
        minlength: 12,
        maxlength: 2500
    }                 
},

        errorElement: "div",
    wrapper: "div class=\"validatemessage\""
   });  

        $('#contact_form').ajaxForm(function() {
        $('#contact_form')[0].reset();
        alert("Thank you for your email!");

});
});
于 2012-12-26T04:26:54.347 に答える