2015-11-06 74 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