如何将值传递给函数和cont执行

时间:2017-04-10 18:50:14

标签: javascript jquery html html5

我有一个表单,我正在验证字段“onblur”。我想要做的是当用户点击提交make时,任何字段都是空的。

我想要做的是将值传递给函数并在用户单击“提交”时运行该函数,但我在执行此操作时遇到问题。

有人可以指出我正确的方向来解决我的问题。

HTML:

^

JS:

df['STRING_COL'].str.split('^', 1, expand=True)

2 个答案:

答案 0 :(得分:1)

如果您想在提交按钮的点击事件上附加验证,我建议您像模糊事件一样重复每个输入字段的验证。

此外,我建议您将 ok 值保存为每个输入字段的属性。将dom的这些属性设置为false,并在validateForm函数中将其更改为true / false。

提交时,最好运行你的valodator函数并测试假字段。

您可以使用addEventListener注册事件处理程序,querySelectorAll以选择元素。

摘录:

function validateForm(id) {
  var value = document.getElementById(id).value;

  if (value === "" || value == null) {
      document.getElementById(id+'Err').innerHTML = "* <img src='images/unchecked.gif'> Field is required";
      document.getElementById(id).setAttribute('yesNo', 'false');
  } else {
      document.getElementById(id+'Err').innerHTML = "* ";
      document.getElementById(id).setAttribute('yesNo', 'true');
  }
}

document.addEventListener('DOMContentLoaded', function(e) {
  document.querySelectorAll('form[name="registerForms"] input:not([type="submit"])').forEach(function(ele, idx) {
      ele.setAttribute('yesNo', 'false');
  });
  document.getElementById('registerButton').addEventListener('click', function(e) {

      var ok = true;

      document.querySelectorAll('form[name="registerForms"] input:not([type="submit"])').forEach(function(ele, idx) {
          validateForm(ele.id);
          if (ele.getAttribute('yesNo') == 'false') {
              ok = false;
          }
      });

      if (ok == false) {
          console.log("There's something wrong with your information!")
          e.preventDefault();
      }
  });
});
<form method="post" name="registerForms" action="http://www.google.com">
    <div class="form-group">
        <label for="nusernames">Username: <span id="nusernamesErr" class="error">* </span></label>
        <input type="text" class="form-control" id="nusernames" name="nusernames" onblur="validateForm('nusernames')">
    </div>
    <div class="form-group">
        <label for="nemail">Email: <span id="nemailErr" class="error">* </span></label>
        <input type="email" class="form-control" id="nemail" name="nemail" onblur="validateForm('nemail')">
    </div>
    <input type="submit" class="btn btn-default" value="Submit" id="registerButton">
</form>

答案 1 :(得分:0)

你试图用这个来定义var按钮     var button = document.getElementById(&#39; #registerButton&#39;);

但需要使用常规javascript

var button = document.getElementById('registerButton');

这似乎解决了问题