JS验证失效

julyarrow 2009-05-31 09:50:46
先看一段代码:

function checknum(s){
if (s!=null && s!="" && s.substring(0,1)!='-' && s.indexOf('.')!=-1)
{
return !isNaN(s);
}
return false;
}
function validate(){
if(document.myform.budget.value==""){
alert("预算不能为空");
document.myform.budget.focus();
return false;
}
else if(!checksum(document.myform.budget.value)){
alter("预算内容只允许整数");
document.myform.budget.focus();
return false;
}
return true;
}

...

<form name="myform" action="PurchaseProcess.jsp" method="post" onsubmit="return validate();">

...

<input type="text" name="budget"/>

就是以上一个简单的JS验证,当budget为空时可以验证,但不为空时无法做出整数验证,实在看不出问题出在哪里。而且之前有很多页面都会这种问题。一个简单的验证都做不好,惭愧。网上也找不到类似的例子,万不得已在此求助,希望大伙帮帮忙。
...全文
152 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
julyarrow 2009-06-01
  • 打赏
  • 举报
回复
呵呵,太粗心了,谢谢以上各位
郭大侠_ 2009-05-31
  • 打赏
  • 举报
回复
搂主,你的代码还有个问题,如果输入空格可以提交页面,建议用以下的代码

function String.prototype.Trim() {return this.replace(/(^\s*)|(\s*$)/g,"");}
function checknum(s){
if (s!=null && s!="" && s.substring(0,1)!='-' && s.indexOf('.') ==-1)
{
return !isNaN(s);
}
return false;
}
function validate(){
if(document.myform.budget.value.Trim()=="")
{
alert("预算不能为空");
document.myform.budget.focus();
return false;
}
else if(!checksum(document.myform.budget.value.Trim()))
{
alert("预算内容只允许整数");
document.myform.budget.focus();
return false;
}
return true;
}

...

<form name="myform" action="PurchaseProcess.jsp" method="post" onsubmit="return validate();">

...

<input type="text" name="budget"/>

hookee 2009-05-31
  • 打赏
  • 举报
回复
alert, checksum写错了, s.indexOf('.')==-1


<script>
function checknum(s){
if(s!=null && s!="" && s.substring(0,1)!='-' && s.indexOf('.')==-1)
{
return !isNaN(s);
}
return false;
}
function validate(){
if(document.myform.budget.value==""){
alert("预算不能为空");
document.myform.budget.focus();
return false;
}
else{
if(!checknum(document.myform.budget.value)){
alert("预算内容只允许整数");
document.myform.budget.focus();
return false;
}
}
return true;
}
</script>

<form name="myform" action="PurchaseProcess.jsp" method="post" onsubmit="return validate();">

...

<input type="text" name="budget"/>
</form>

郭大侠_ 2009-05-31
  • 打赏
  • 举报
回复
搂主,可以结贴了!
郭大侠_ 2009-05-31
  • 打赏
  • 举报
回复
不过还有个地方
if (s!=null && s!="" && s.substring(0,1)!='-' && s.indexOf('.')!=-1)
改为
if (s!=null && s!="" && s.substring(0,1)!='-' && s.indexOf('.')==-1)
郭大侠_ 2009-05-31
  • 打赏
  • 举报
回复
alter("预算内容只允许整数");
改为
alert("预算内容只允许整数");

这么简单的问题,100分?

87,997

社区成员

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

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