我正在开发一个带有smarty模板的codeigniter中的应用程序,并且html页面准备就绪我必须开发那些页面。在那个应用程序中,有一个页面在lightbox中作为一个表单打开,我想把jquery验证放在我尝试过的地方
<script>
$(document).ready(function(){
$("#frm_email").validate({
rules: {
email: {
required: true,
email : true
}
},
messages: {
email: {
required: "Email is required.",
email : "Enter valid email."
}
},
// the errorPlacement has to take the table layout into account
errorPlacement: function(error, element) {
if ( $(element).is(":radio") ){
$(error).insertAfter( $(element).parent() );
} else if ( $(element).is(":checkbox") ){
$(error).insertAfter( $(element).next() );
} else{
if($(element).is("textarea")){
$(error).insertAfter($(element).next());
} else {
$(error).insertAfter( $(element) );
}
}
},
success: function(label ) {
$(label).remove();
},
onkeyup: function(element) { $(element).valid(); },
onfocusout: function(element) { $(element).valid(); }
});
});
});
此代码但它不起作用,我希望在表单提交之前进行表单验证。
所以请帮助我。
答案 0 :(得分:0)
您需要使用jQuery包装器才能使其工作:
元素应为$(元素),错误应为$(错误)
if ( element.is(":radio") )
$(error).insertAfter( $(element).parent() );
else if ( $(element).is(":checkbox") )
$(error).insertAfter( $(element).next() );
//else{
else if($(element).is("textarea"))
$(error).insertAfter($(element).next());
else
$(error).insertAfter( $(element) );
//}
另外,我注意到如果其他条件错了,那就解决了。 (如果条件::正确检查,你还有其他条件)