我如何检测jQueryValidation何时完成,并根据该事件调用一些东西
How can I detect when jQuery Validation is done, and call something based on that event?
我是jQuery的新手。
使用jQuery验证插件&cufon同时也让我很难过。
基本上,我想在jQueryValidation完成它必须做的事情后检测事件,并在它之后直接调用Cufon.refresh()。
$('#commentForm').validate({
rules: {
password: {
required: true,
minlength: 8,
maxlength: 8,
number: true
},
}
});
当表单无效时,我们需要<label class="error"> SOME TEXT </label>
。
一旦创建了它,我想在jQueryValidation创建的标签上使用Cufon.refresh()。如何检测jQuery验证何时完成,并根据该事件调用某些内容
非常感谢您的帮助。当做Piotr
感谢@Ariel-如果有"成功",也必须有"不成功",所以…
工作代码:
$('#commentForm').validate({
rules: {
password: {
required: true,
minlength: 8,
maxlength: 8,
number: true
}
},
showErrors: function(errorMap, errorList) {
this.defaultShowErrors();
Cufon.refresh();
//alert('not valid!')
},
success: function() {
//alert('valid!')
}
});
再次感谢你的想法!
使用success
选项:
$('#commentForm').validate({
rules: {
password: {
required: true,
minlength: 8,
maxlength: 8,
number: true
},
}
success: function() { .... }
});
请注意,密码对象的右大括号后面有一个额外的逗号。这将在IE中产生错误。
<script src="js/validate/jquery-1.11.1.min.js"></script>
<script src="js/validate/jquery.validate.min.js"></script>
<script src="js/validate/additional-methods.min.js"></script>
<script>
jQuery.validator.setDefaults({
success: "valid"
});
var form = $("#myform");
form.validate({
rules: {
name: {required: true, minlength: 2},
lastname: {required: true, minlength: 2}
}
});
$("#button").click(function() {
if(form.valid() == true ) { // here you check if validation returned true or false
$("body").addClass("loading");
}
})
</script>
submitHandler: { function(){ bla bla }}
这将允许您在验证完成后执行代码。不过,您需要放置一个提交表单片段,因为它替换了默认的处理程序。
编辑:
// specifying a submitHandler prevents the default submit
submitHandler: function() {
alert("submitted!");
},
// set this class to error-labels to indicate valid fields
success: function(label) {
// set as text for IE
label.html(" ").addClass("checked");
}
你可以用任何一个来做你想做的事。submitHandler允许您停止提交并执行代码(您可以在提交前使用它来执行代码),或者在提交后成功执行代码。
将其放入errorPlacement
选项中。
errorPlacement: function(error, element) {
error.appendTo( element.parent() );
yourCodeHere();
}
$(document).ready(function() {
$('#commentForm').submit(function(){
var validationResponse = $('#commentForm').valid();
if(validationResponse) {
// when true, your logic
} else {
// when false, your logic
return false;
}
});
$("#commentForm" ).validate({
rules: {
"first_name": {
required: true
}
},
messages: {
"first_name": {
required: "First Name can not be empty"
}
}
});
});
相关文章:
- d3-js快速事件调用问题
- 使用按钮OnClick事件调用Javascript函数
- 了解在JavaScript中(在IE中)对某个事件调用了什么函数
- 如何使用onclick事件调用AngularJS控制器
- 无法从onclick事件调用JS函数
- 当多个 JS 事件调用同一个函数时,如何处理它们
- 为什么我从 JSLint 获得从事件调用的函数的“超出范围”
- 你能用onblur事件调用一个外部Javascript吗
- jquery mobile,从事件调用转换
- 如何使用C#为特定按钮事件调用JavaScript方法
- 如何在函数内部定义一个变量以供事件调用
- 如何从onClick事件调用对象函数
- 使用promise.then时,是否可以保留在单击事件调用堆栈中
- 如何断言间谍是使用jasmine通过点击事件调用的
- 使用AngularJS对超快速keyup和keydown事件调用函数
- 为同一标记中的两个不同事件调用两个javascript方法
- 事件调用方似乎无法正常工作
- 事件调用和范围问题
- 如何在 ng-repeat 中将变量值附加到事件调用
- j查询点击事件;调用特定函数(如果可用)