一个脚本验证

yyzzgg 2006-12-13 09:43:19
form表单:
<form action="userinfor_do.jsp" name="userinfor" method="POST">
<table width="99%" border="0" cellpadding="0" cellspacing="0" bordercolor="#cccccc" rules="all" id="DataGrid1">
<tr>
<td>邮政编码:<input name="postalcode" class="input" size="12"/>
</td>
<td>........
</td>
<td>........
</td>
<td>
<img border="0" src="images/next.gif" onclick="validate();"/>
</td>
</tr>
</table>
</form>

脚本验证:
<script language="javascript">
function validate(){
if(document.userinfor.postalcode.value>6){
alert('数字不能大于6位');
document.userinfor.postalcode.focus();
return false;
}
}
</script>



上面的脚本我是要验证如果邮政编码大于6位数就弹出一个对话框,返回一个false.但是它还是进入了下一个页面,这不知是为什么?请大家帮我好好看看,在线等.
...全文
214 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellen_cap 2006-12-13
  • 打赏
  • 举报
回复
呵呵

应该把<img border="0" src="images/next.gif" onclick="validate();"/>这句改成
<input type="image" src="images/next.gif" onclick="return validate();"/>
yyzzgg 2006-12-13
  • 打赏
  • 举报
回复
呵呵,真是谢谢你们啦.现在终于搞定了.这个问题是出在我个人,因为我在前一个判断的时候出现在错误.给你们加分.
wuzeng2002 2006-12-13
  • 打赏
  • 举报
回复
function validate(){
if(document.userinfor.postalcode.value.length<6){
document.userinfor.postalcode.focus();
alert('数字不能小于6位');
return false;
}
return true;
}
onclick="validate(); " 改为onclick="return validate();"
再不行就可以砸机器了!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Coolfatman 2006-12-13
  • 打赏
  • 举报
回复
把validate移到form的onsubmit上去
zhongbx 2006-12-13
  • 打赏
  • 举报
回复
if(document.all("faultName").value.length)
hellen_cap 2006-12-13
  • 打赏
  • 举报
回复
你再试试
把顺序调一下

function validate(){
if(document.userinfor.postalcode.value.length<6){
document.userinfor.postalcode.focus();
alert('数字不能小于6位');
return false;
}
}
yyzzgg 2006-12-13
  • 打赏
  • 举报
回复
而且也执行了'数字不能小于6位'这句话,光标就是不定位到本页,直接就执行到了下一页.
hellen_cap 2006-12-13
  • 打赏
  • 举报
回复
onClick="return validate()"

再不然把错误信息点出来,看看是哪行的错。


呵呵。我今天是闲着没事干。再不就把validate换个名称,如果validate是关键字也会出错的
yyzzgg 2006-12-13
  • 打赏
  • 举报
回复
不管怎样你为我这个也费了不少心思,以前我在做这个时候从来就没有出现过这样子的怪问题.真的很谢谢你.
yyzzgg 2006-12-13
  • 打赏
  • 举报
回复
length没有少啊.真的没有少.
hellen_cap 2006-12-13
  • 打赏
  • 举报
回复
你的错在于value后面少了.length,没有length你怎么判断它是小于还是大于啊,

按我说的就没错了,

结贴
yyzzgg 2006-12-13
  • 打赏
  • 举报
回复
就是不行咯,它返回的不是false, 而老是转到了下一页.
hellen_cap 2006-12-13
  • 打赏
  • 举报
回复
那你
function validate(){
if(document.userinfor.postalcode.value.length<6){
alert('数字不能小于6位');
document.userinfor.postalcode.focus();
return false;
}
}
不就行了。
yyzzgg 2006-12-13
  • 打赏
  • 举报
回复
hellen_cap(hellen) ( ) 信誉:100 Blog
<input name="postalcode" class="input" size="12" maxlength="6" onkeyup='this.value=this.value.replace(/\D/gi,"")'/>
只能输入数字onkeyup='this.value=this.value.replace(/\D/gi,"")'

这个方法我早就用过了,但是现在我的主要目的是想只能让他输入6位数.maxlength="6"现在可以限制输入大于6位数,如果小于6位也想判断出来.

hellen_cap 2006-12-13
  • 打赏
  • 举报
回复
<input name="postalcode" class="input" size="12" maxlength="6" onkeyup='this.value=this.value.replace(/\D/gi,"")'/>
只能输入数字onkeyup='this.value=this.value.replace(/\D/gi,"")'
hellen_cap 2006-12-13
  • 打赏
  • 举报
回复
document.userinfor.postalcode.value>6改成document.userinfor.postalcode.value.length>6

或者:<input name="postalcode" class="input" size="12" maxlength="6"/>
wuzeng2002 2006-12-13
  • 打赏
  • 举报
回复
onclick="validate(); " 改为onclick="return validate();"

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧