2012-03-07 48 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

相关问题