先看一段代码: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为空时可以验证,但不为空时无法做出整数验证,实在看不出问题出在哪里。而且之前有很多页面都会这种问题。一个简单的验证都做不好,惭愧。网上也找不到类似的例子,万不得已在此求助,希望大伙帮帮忙。

解决方案 »

  1.   

    alter("预算内容只允许整数");
    改为
    alert("预算内容只允许整数");这么简单的问题,100分?
      

  2.   

    不过还有个地方
    if (s!=null && s!="" && s.substring(0,1)!='-' && s.indexOf('.')!=-1)
    改为
    if (s!=null && s!="" && s.substring(0,1)!='-' && s.indexOf('.')==-1)
      

  3.   

    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>
      

  4.   

    搂主,你的代码还有个问题,如果输入空格可以提交页面,建议用以下的代码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"/>