2012-03-07 70 views
2

我用KnockoutJS和Jquery驗證。如果我有一個按鈕,它會很好地工作。現在,我想另一個按鈕是這樣的:如何防止jquery驗證表單只有一個按鈕?

<button data-bind="jqueryui: 'button'">Submit</button> 
<button data-bind="jqueryui: 'button'">Reset</button> 

問題是:在復位按鈕點擊復位輸入字段爲空,它也運行驗證像提交按鈕。單擊重置按鈕時如何防止驗證?

我的代碼: CSHTML

<table> 
<tr> 
    <td valign="middle"> 
     Old Password 
    </td> 
    <td> 
     <input id="oldPassword" name="oldPassword" type="text" data-bind="value: OldPassword, valueUpdate: 'afterkeydown'" /> 
    </td> 
</tr> 
<tr> 
    <td valign="middle"> 
     New Password 
    </td> 
    <td> 
     <input id="newPassword" name="newPassword" type="text" data-bind="value: NewPassword, valueUpdate: 'afterkeydown'" /> 
    </td> 
</tr> 
<tr> 
    <td valign="middle"> 
     Confirm New Password 
    </td> 
    <td> 
     <input id="confirmNewPassword" name="confirmNewPassword" type="text" 
      data-bind="value: ConfirmNewPassword, valueUpdate: 'afterkeydown'" /> 
    </td> 
</tr> 
<tr> 
    <td colspan="2"> 
     <button data-bind="jqueryui: 'button'"> 
      Submit</button> 
     <button data-bind="jqueryui: 'button'"> 
      Reset</button> 
    </td> 
</tr> 

KnockoutJs

if (!!$('form')) { 
        $('form').validate({ 
         submitHandler: function() { params.viewModel.Presenter.CheckPassword(); }, 
         rules: { 
          oldPassword: { 
           required: true, 
           minlength: 3 
          }, 
          newPassword: { 
           required: true, 
           minlength: 3 
          }, 
          confirmNewPassword: { 
           equalTo: '#newPassword' 
          } 
         }, 
         messages: { 

        } 
       }); 
+0

非 - 人s,那不是表單 – ajax333221 2012-03-07 04:30:30

+0

此表格和按鈕已經在我的表單中。我的意思是當我點擊按鈕(提交和重置),它會驗證。我想問如何防止它單擊重置按鈕時驗證? – Stiger 2012-03-07 04:46:36

+0

它看起來像一個窗體,但它不是沒有窗體標籤。我不確定你是否知道它們存在,或者你只是簡單地在你的問題上忽略它。 – ajax333221 2012-03-07 06:20:39

回答

2

將類型設置爲你的按鈕和復位將努力......

<button type="submit" data-bind="jqueryui: 'button'">Submit</button> 
<button type="reset" data-bind="jqueryui: 'button'">Reset</button> 
+0

type =「reset」的重置按鈕僅適用於表單標籤,此處不存在。 – 2012-03-07 06:38:02

+0

@DigvijayYadav:請參閱上面@ Stiger的評論 - 「此表格和按鈕已經在我的表單中了」。我相信在上面的代碼中省略了部分內容。 – neo108 2012-03-07 06:54:40

相關問題