Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 阻止jQuery验证插件在表单可见时提交表单_Javascript_Jquery_Jquery Validate - Fatal编程技术网

Javascript 阻止jQuery验证插件在表单可见时提交表单

Javascript 阻止jQuery验证插件在表单可见时提交表单,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我想使用插件验证表单。但是,我不希望提交表单,而是希望首先显示结果,以便用户能够额外确定,然后提交数据。“extra sure”页面有一个后退按钮,它只显示原始表单,但当表单显示时,它似乎会立即触发提交回调。请参阅下面的脚本和上的实例。如何防止这种行为 var validator=$("#my-form").validate({ rules: {name:{required:true},address:{required:true},city:{required:true}},

我想使用插件验证表单。但是,我不希望提交表单,而是希望首先显示结果,以便用户能够额外确定,然后提交数据。“extra sure”页面有一个后退按钮,它只显示原始表单,但当表单显示时,它似乎会立即触发提交回调。请参阅下面的脚本和上的实例。如何防止这种行为

var validator=$("#my-form").validate({
    rules: {name:{required:true},address:{required:true},city:{required:true}},
    submitHandler: function(form) {
        //Populate #my-form 
        $('#my-form>div').toggle();
    }
});

$('#go-back').click(function(){
    $('#my-form>div').toggle();
    alert('go-back');
});

$('#submit').click(function(){
    alert('Submit Form');
});

<form method="post" action="myform.php" id="my-form">
    <div class="step1">
        <input type="text" name="name" id="name" />
        <input type="text" name="address" id="address" />
        <input type="text" name="city" id="city" />
        <input type="submit" name="submit" value="Submit">
    </div>
    <div class="step2 hidden">
        <dl class="info">
            <dt>Name</dt><dd id="name"></dd>
            <dt>Address</dt><dd id="address"></dd>
            <dt>City</dt><dd id="city"></dd>
        </dl>
        <button id='go-back'>Go Back</button>
        <button id='submit'>Complete</button>
    </div>
</form>
var validator=$(“#我的表单”).validate({
规则:{name:{required:true},address:{required:true},city:{required:true},
submitHandler:函数(表单){
//填充#我的表单
$(“#我的表单>div”).toggle();
}
});
$('#返回')。单击(函数(){
$(“#我的表单>div”).toggle();
警报(“返回”);
});
$(“#提交”)。单击(函数(){
警报(“提交表格”);
});
名称
地址
城市
回去
完成
添加按钮类型

返回

@SpYk3HH。是的,确实很奇怪。这个插件很不错,但是这个行为不太好@SpYk3HH请尝试我下面答案上的链接。@SpYk3HH。同意,我想知道。也许插件承认任何不是“按钮”类型的按钮是提交按钮?我是个白痴!我忘了,表单中按钮的默认
类型是
submit
,这就是你的问题!lol@SpYk3HH. 啊哈!我们都被愚弄了,但至少你明白了。我没有更新你关于你是个白痴的回答,但这样做的原因正好相反。
<button id='go-back' type="button">Go Back</button>