function Add(n) 

    
      var p1=document.getElementById("txtEXO_NUM"+n); 
      var p2=document.getElementById("txtFC_FU_NUM"+n); 
      var p3 = document.getElementById("txtOUTFIT_VAL"+n); 
      if(p1.value==""||p2.value=="") 
      { 
        p3.innerHTML=""; 
        } 
        else{ 
        p3.innerHTML=parseInt((parseInt(p2.value)/parseInt(p1.value))*100).toString(); 
         document.getElementById("val"+n).value=parseInt((parseInt(p2.value)/parseInt(p1.value))*100).toString();
        }  
        } 
当p1为空,或者p2为空,那么p3就是空。
否则就给p3赋值。
我现在做一个判断
当p1为空,或者p2为空,那么p3就是空。
否则,当p1或者p3,不是数字,而是字符串的时候,给p3="输入错误";
否则,给p3赋值  

解决方案 »

  1.   

    是否为数字有一个方法
    isNaN()
      

  2.   

    isNaN("1,23")为false,所以最好不用isNaN
    用这个吧:function CheckFloatMinus(str){
      var reg = /^(\+|-)?(\d+)(\.\d+)?$/ig;
      return reg.test(str);
    }
      

  3.   

             <SCRIPT language="javascript"> function isnumber()
    {     
    var reqtel=/^(-?\d+)(\.\d+)?$/;//浮点数
     
      if(window.event.srcElement.value=="")
    {

    }
    else
    {
    if(!reqtel.test(window.event.srcElement.value))
    {
    alert("请输入数字!!");   
    window.event.srcElement.focus();   
    return false;   
    }
    }
    }

    </script>