2014-02-20 189 views
1

我想使用http://jqueryvalidation.org/插件驗證表單。但是,我不想提交表單,而是希望首先顯示結果,以便用戶可以進一步確認並提交數據。 「額外確定」頁面有一個後退按鈕,它只顯示原始表單,但當顯示錶單時,它似乎立即觸發提交回調。請參閱下面的腳本和http://jsfiddle.net/SF9R4/上的實況示例。我如何防止這種行爲?防止jQuery驗證插件在提交表單時提交表單

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> 
+0

@ SpYk3HH。是的,行爲很奇怪。該插件是一個很好的插件,但這種行爲並不好! – user1032531

+0

@ SpYk3HH試試我下面的答案的鏈接。 – user1032531

+0

@ SpYk3HH。同意,想知道。也許該插件確認任何不是「按鈕」類型的按鈕作爲提交按鈕? – user1032531

回答

1

添加按鈕類型。 http://jsfiddle.net/SF9R4/1/

<button id='go-back' type="button">Go Back</button> 
+1

我是一個***白癡***!我忘了,表單中按鈕的默認'type'是'submit',因此你的問題!大聲笑 – SpYk3HH

+0

@ SpYk3HH。啊哈!那麼,我們都被愚弄了,但至少你已經明白了。 – user1032531

+1

PS。我沒有更新關於你是白癡的答案,但是出於相反的原因這樣做了。 – user1032531