2015-11-06 65 views
0

我想提出一个表单错误,如果字段不是数字,但它不会引发任何错误,并指向我定义为行动的页面。HTML表单Onsubmit验证不起作用的JS功能

我试图用函数引发错误而只是警告,但它再次没有提出任何错误并打开其他jsp。

下面是头标记内

<script type="text/javascript"> 
    function validation() { 
    var a = document.getElementByid("a"); 
    var b = document.getElementByid("b"); 
    var c = document.getElementByid("c"); 
    var d = document.getElementByid("a").value; 
    var e = document.getElementByid("b").value; 
    var valid = true; 
    if (a.value.length <= 0 || b.value.length <= 0) { 
     alert("Lutfen alani bos birakmayiniz"); 
     valid = false; 
    } else { 
     if (isNan(d)) || isNan(e)) { 
     alert("Rakam girmediniz. Rakam giriniz lütfen") 
     valid = false; 
    } else 
     return valid; 
    } 
    } 
</script> 

以下是body标签内

<form onsubmit="return validation();" method="get" action="response.jsp"> 
    </br>aaa <input type="text" id="a" value="0" /> 
    </br>bbb <input type="text" id="b" value="0" /> 
    </br>ccc <input type="text" id="c" /> 
    <input type="submit" value="Submit" /> 
</form> 

我相信,如果js函数是在头部和形式在体内可能甚至工作。

回答

0

,我们在您的脚本代码的多个错误, 变化的document.getElementById到的document.getElementById 变化isNan到isNaN 和如果(isNaN(d) 使用下面的一个

删除多余的支架
<script type ="text/javascript"> 
      function validation() 
      { 
       var a = document.getElementById("a"); 
       var b = document.getElementById("b"); 
       var c = document.getElementById("c"); 
       var d = document.getElementById("a").value; 
       var e = document.getElementById("b").value; 
       var valid =true; 
       if (a.value.length<=0 || b.value.length<=0) 
       { 
        alert("Lutfen alani bos birakmayiniz"); 
        valid =false; 
       } 
       else 
       { 
        if (isNaN(d) || isNaN(e)) 
        { 
         alert("Rakam girmediniz. Rakam giriniz lütfen") 
         valid =false; 
        } 


       } 
        return valid; 

      } 
     </script> 
+0

它的工作非常感谢 – Willy