HTML表单Onsubmit验证不适用于JS函数

时间:2015-11-06 23:52:53

标签: javascript html

如果字段不是数字,我试图为表单引发错误,但它不会引发任何错误并指向我定义为操作的页面。

我试图用一个函数引发错误只是警告,但它再次没有引发任何错误并打开另一个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>

以下是身体内部标记

<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函数在头部并且形式在体内也可以工作。

1 个答案:

答案 0 :(得分:0)

您的脚本代码中存在多个错误, 将document.getElementByid更改为document.getElementById 将isNan改为isNaN 并删除if(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>