JavaScript:函数未运行

时间:2014-05-09 00:37:02

标签: javascript

我目前正在学习JavaScript并尝试验证一个简单的表单。

我使用显示模块模式并使用for循环检查表单提交时输入字段是否为空。

问题是验证功能没有触发,我在控制台中看不到任何错误。

另外,如果我的JS可以改进,请告诉我。

的jsfiddle

http://jsfiddle.net/n4TvL/

HTML

<form action="" method="post" name="frm" id="form">
    <input id="fullname" placeholder="Name" name="input">
    <input id="email" placeholder="Email" name="input">
    <input type="submit" id="submit">
</form>

JS

"use strict";

var signUp = (function() {

    var formSubmit = function() {
      var inputField = document.getElementsByTagName('input');
      document.forms['frm'].onsubmit = function(e) {
          alert('ello');
          val();
          e.preventDefault();
      }
    };

    function val() {
        var check = document.getElementsByName('input');
        var len = check.length;
        for(var i = 0; i < len; i++) {
            if(check[i].length === "") {
                alert('empty');
            }
        }
    };

    return {
      init: formSubmit
    }

})();

signUp.init();

2 个答案:

答案 0 :(得分:3)

val 正在解雇,如果您在开头放置alert,则可以看到。

而不是

check[i].length
你应该

check[i].value

答案 1 :(得分:-1)

实际上你的val()函数正在被调用,你的问题是

编辑:.length应该.innerHTML.length&lt; 1

请参阅:http://jsfiddle.net/n4TvL/4/

         if(check[i].innerHTML.length < 1) {

            alert('empty');
        }