Javascript fadeOut()方法赢得';无法处理event.preventdefault()

Javascript fadeOut()方法赢得';无法处理event.preventdefault(),javascript,jquery,validation,Javascript,Jquery,Validation,提交并验证表单时,我希望对话框淡出并关闭,我不希望页面自动刷新。如果使用preventdefault,页面不会刷新,但对话框也不会关闭。我还需要做什么 $("#form").validate({ rules: { number : { required: true } }, messages: { number : {

提交并验证表单时,我希望对话框淡出并关闭,我不希望页面自动刷新。如果使用preventdefault,页面不会刷新,但对话框也不会关闭。我还需要做什么

$("#form").validate({
    rules: {
          number : {
            required: true
        }                                        
    },
    messages: {
        number : {
            required: "enter a phone number"                   
        }
    },
    submitHandler: function(form,event) {

        event.preventDefault();

    //this prevents a double click on the form button

    $("form :input:submit").click(function() {

             this.disabled = 'disabled';

    });

     //Here I want the dialog to slowly fade, then close, *then* reload the page. 
     //but it won't fade or close when I'm using preventDefault(). 

    $('#dialog').fadeOut('slow', function(){
            $( this ).dialog( "close" );
          location.reload();
        });


    }  //closes submit handler  
});//close validate

您可以放置
event.preventDefault()
submithandler
函数的末尾

问题是
submitHandler
只接收1个参数
form
,因此尝试调用
event.preventDefault()将导致异常并停止以下脚本的执行

回调传递了一个参数:

形式

类型:元素当前正在验证的表单,作为 多梅莱恩

尝试
返回false位于函数末尾

submitHandler: function(form) {

    $("form :input:submit").click(function() {

             this.disabled = 'disabled';

    });

    $('#dialog').fadeOut('slow', function(){
            $( this ).dialog( "close" );
          location.reload();
        });

    return false;
    }