function checknickname(){ var obj1=document.getElementById('msg1'); if(document.form1.nickname.value.length<2||form.nickname.value.length>20){
obj1.innerHTML="nickname is too long or too short"; document.form1.submit1.disabled=true; } else { obj1.innerHTML="ok"; document.form1.submit1.disabled=false; }
var obj1=document.getElementById('msg1');
if(document.form1.nickname.value.length<2||form.nickname.value.length>20){
obj1.innerHTML="nickname is too long or too short";
document.form1.submit1.disabled=true;
}
else
{
obj1.innerHTML="ok";
document.form1.submit1.disabled=false;
}
}
这是我写的检查昵称长度的代码,但是很奇怪,当昵称合适的时候,不显示"ok",提交按钮也没恢复,怎么回事?
<form action="" onsubmit="return check()" >
</form>
然后check()方法里可以做各种验证。onblur会先触发js验证。
jQuery(document).ready(function(){
//提交验证
var validator =jQuery("#form").validate({ //onblur,onchange触发
submitHandler: function(form){},
rules: { //定义验证规则,其中属性名对应为表单的name属性
code:{
required:true,
maxlength:3 , remote:{
url:"systemParametersCodeIsUnique.html" ,
type:"post" ,
data:{
opttype:'1',
systemParametersId:function (){
var opttype = '${opttype}';
if(opttype=="update" || opttype=="view" ){
return "${systemParameters.id}"
}else return "0";
},
code:function(){return getVal("code");}
}
}
}
},
messages: {
code: {remote:"已经存在"}
},
highlight: function(element, errorClass) { //针对验证的表单设置高亮
jQuery(element).addClass(errorClass);
},
success: function(label) {
label.html('<img id="correct" src="images/tick.png" width="16" height="16" alt=".">');
},
errorPlacement: function(error, element) { //验证消息放置的地方
error.insertAfter(element);
}
});
});
使用jquery.validate.js插件function save() {//submit按钮点击事件再次触发
jQuery.water.hideAll();
//框架验证
var validator = jQuery("#form").validate();
var f1 = validator.form();
if(f1==false)return false;
}