【发布时间】:2013-07-29 14:04:53
【问题描述】:
这是我的表格。
<form method="post" name="frm" >
<label>Name*<input type="text" name="Name" value="<?php echo $r['Name'] ?>" onblur="if(this.value.length<3) alert('Name too short');" /></label>
<label>Username*<input type="text" name="UN" value="<?php echo $r['UN'] ?>" onblur="if(this.value.length<5) alert('Username too short');" /></label>
<label>Password*<input type="password" name="PW" onblur="validation()" /></label>
<label>Confirm Password*<input type="password" name="CM" onblur="validation()" /></label>
<?php } ?>
<input type="submit" name="Submit" value="<?php if($new) echo 'Register'; else echo 'Update'; ?>" />
</form>
在不编写单独的 onblur 事件的情况下,我试图将所有这些事件放入一个名为 validation() 的函数中,就像我为 Password 和确认 Password 字段所做的那样。这是我的验证函数。
<script language="javascript">
function validation(){
var password= document.frm.PW.value;
var password2=document.frm.CM.value;
if (password.length<5){
alert ("Password too short");
}
else if(password!=password2){
alert("password mismatch");
}
}
</script>
但是一旦我填写了密码并且当我即将开始输入确认密码字段时,使用此代码它会提醒消息(“密码不匹配”)。如何摆脱这个。和对于所有表单标签,如果我正在验证和使用 validation() 函数,那么在每个标签中我是否必须调用 onblur=validation();
【问题讨论】:
-
如果您将警报替换为在您键入时显示在页面上的内容,那么烦人的就少得多了。即使用错误消息更新跨度。我会避免提醒,但如果你确实使用它们,请在点击提交时保存。
标签: forms validation