我有一个表单,我正在验证字段“onblur”。我想要做的是当用户点击提交make时,任何字段都是空的。
我想要做的是将值传递给函数并在用户单击“提交”时运行该函数,但我在执行此操作时遇到问题。
有人可以指出我正确的方向来解决我的问题。
HTML:
^
JS:
df['STRING_COL'].str.split('^', 1, expand=True)
答案 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');
这似乎解决了问题