Javascript 单击按钮时清除jQuery验证
我有一个简单的表格。单击“提交”时,我使用jQuery验证方法验证控件。单击“取消”时,清除验证时遇到问题 这是我的密码:Javascript 单击按钮时清除jQuery验证,javascript,jquery,asp.net,validation,Javascript,Jquery,Asp.net,Validation,我有一个简单的表格。单击“提交”时,我使用jQuery验证方法验证控件。单击“取消”时,清除验证时遇到问题 这是我的密码: <script type="text/javascript"> //Custom method $.validator.addMethod("valueNotEquals", function (value, element, arg) { return arg != value; }, "This field is required."); var
<script type="text/javascript">
//Custom method
$.validator.addMethod("valueNotEquals", function (value, element, arg) {
return arg != value;
}, "This field is required.");
var jqueryValidator;
$(document).ready(function () {
$("#<%= btnSave.ClientID %>").click(function () {
jqueryValidator = $('#masterForm').validate({
rules: {
<%=gddTank.UniqueID %>: {
valueNotEquals: "-1"
},
<%=gddCanister.UniqueID %>: {
valueNotEquals: "-1"
},
<%=gddCane.UniqueID %>: {
valueNotEquals: "-1"
},
<%=gddStraw.UniqueID %>: {
valueNotEquals: "-1"
}
},
highlight: function (element) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
success: function (element) {
$(element).closest('.control-group').removeClass('error').addClass('success');
}
});
});
$("#<%= btnCancel.ClientID %>").click(function () {
jqueryValidator.resetForm();
});
});
</script>
//自定义方法
$.validator.addMethod(“valueNotEquals”,函数(值,元素,参数){
返回arg!=值;
},“此字段为必填项。”);
var jqueryValidator;
$(文档).ready(函数(){
$(“#”)单击(函数(){
jqueryValidator=$(“#主窗体”)。验证({
规则:{
: {
valueNotEquals:“-1”
},
: {
valueNotEquals:“-1”
},
: {
valueNotEquals:“-1”
},
: {
valueNotEquals:“-1”
}
},
亮点:功能(元素){
$(元素)。最近的('.control group')。removeClass('success')。addClass('error');
},
成功:功能(元素){
$(元素)。最近('.control group')。removeClass('error')。addClass('success');
}
});
});
$(“#”)单击(函数(){
jqueryValidator.resetForm();
});
});
非常感谢您的帮助
谢谢,
威尔基。试试这个:
$("#<%= btnCancel.ClientID %>").click(function () {
jqueryValidator.resetForm();
$(jqueryValidator.currentForm).find('input:not([type="button"],[type="submit"]),textarea').val('');
});
$(“#”)。单击(函数(){
jqueryValidator.resetForm();
$(jqueryValidator.currentForm).find('input:not([type=“button”],[type=“submit”]),textarea').val('';
});
$(“#”)单击(函数(){
jqueryValidator.resetForm();
$('#masterForm').get(0.reset();
});
您可能认为
resetForm
方法会为您解决所有这些问题,但出于某种原因,您必须在表单本身上额外调用reset
。考虑将console.debug()
与Firebug
或浏览器控制台一起使用。这将使您查找问题的工作更加容易。我确信这会破坏插件的resetForm()
方法的目的。@Wilky-我制作了一个示例表单,似乎效果很好(在取消按钮中,甚至不需要调用form.reset()
:
$("#<%= btnCancel.ClientID %>").click(function () {
jqueryValidator.resetForm();
$('#masterForm').get(0).reset();
});