Javascript 我如何检测jQuery验证何时完成,并基于该事件调用某些东西?
我不熟悉jQuery 同时使用jQuery验证插件和cufon让我感到非常困难 基本上,我想在jQuery验证完成它必须完成的任务后检测事件,然后直接调用Cufon.refresh()Javascript 我如何检测jQuery验证何时完成,并基于该事件调用某些东西?,javascript,jquery,jquery-validate,cufon,Javascript,Jquery,Jquery Validate,Cufon,我不熟悉jQuery 同时使用jQuery验证插件和cufon让我感到非常困难 基本上,我想在jQuery验证完成它必须完成的任务后检测事件,然后直接调用Cufon.refresh() $('#commentForm').validate({ rules: { password: { required: true, minlength: 8, maxlength: 8, num
$('#commentForm').validate({
rules: {
password: {
required: true,
minlength: 8,
maxlength: 8,
number: true
},
}
});
当表单无效时,我们需要一些文本
创建之后,我想在jQuery验证创建的标签上添加Cufon.refresh()。
我如何检测jQuery验证何时完成,并根据该事件调用某些内容?
非常感谢您的帮助。
当做
皮奥特
这将允许您在完成验证后执行代码。不过,您需要放置一个提交表单片段,因为它将替换默认的处理程序
编辑:
// 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允许您停止提交并执行代码(您可以在提交之前使用它执行代码),或者在提交之后使用success执行代码。使用
success
选项:
$('#commentForm').validate({
rules: {
password: {
required: true,
minlength: 8,
maxlength: 8,
number: true
},
}
success: function() { .... }
});
请注意,密码对象的右大括号后面有一个额外的逗号。这将在IE中给出一个错误。多亏了@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!')
}
});
再次感谢你的想法 将其放入
errorPlacement
选项中
errorPlacement: function(error, element) {
error.appendTo( element.parent() );
yourCodeHere();
}
jQuery.validator.setDefaults({
成功:“有效”
});
风险值形式=$(“#我的形式”);
form.validate({
规则:{
名称:{required:true,minlength:2},
lastname:{必需:true,minlength:2}
}
});
$(“#按钮”)。单击(函数(){
if(form.valid()==true){//这里检查验证是否返回true或false
$(“正文”).addClass(“加载”);
}
})
错误的验证插件:)似乎有很多,但他没有说是哪一个。我假设那些具有规则
选项的表单。不过,您需要放置一个提交表单片段,因为它将替换默认的处理程序。如果可以的话,请再详细一点-我是新手。@Ariel-这是我正在使用的plghttp://bassistance.de/jquery-plugins/jquery-plugin-validation/
我正在查找无效事件!谢谢你的主意!多亏了@Ariel——如果有“成功”,那么也必须有“不成功”,所以。。工作代码:$('#commentForm')。验证({rules:{password:{required:true,minlength:8,maxlength:8,number:true}}),淋浴错误:函数(errorMap,errorList){this.default淋浴错误();Cufon.refresh();//警报('not valid!')},成功:函数(){//alert('valid!')}再次感谢你的创意!如果您不想刷新整个字体,我发现运行Cufon.replace('label.error',{fontf家族:“myAwesomeFont”})
运行得更快。如果您知道出现了什么,您可以将该选择器作为不刷新整个页面的目标。您应该在代码中添加一些上下文。告诉OP为什么这能解决他/她的问题。
errorPlacement: function(error, element) {
error.appendTo( element.parent() );
yourCodeHere();
}
<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>
$(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"
}
}
});
});