我正在尝试找到一种方法,我可以要求两个输入在其中包含文本,以便我可以在按钮上打开和关闭> mins
[1] 129
属性。
这意味着当一个输入有文本时,该按钮被禁用。当两个输入都有文本时,该按钮被启用。
这是我正在使用的当前代码:
HTML:
disabled
JavaScript(没有jQuery):
<input name="e" placeholder="email">
<input name="p" placeholder="password">
<button id="submit_button" disabled>Submit</button>
我对这段代码的想法是,我会查询页面中的两个输入,查询按钮,并添加一个事件监听器来检查每个字段的输入,当值不为空时,它会启用按钮。但是现在,当您在任一字段中键入内容时,无论两者是否都填写,该按钮都会启用。
如何更改此JavaScript,以便两个输入都必须包含文本才能启用按钮?
答案 0 :(得分:1)
这个怎么样? :
var inputs = document.querySelectorAll('input[name="e"], input[name="p"]');
var button = document.querySelector('#submit_button');
[].forEach.call(inputs, function (e) {
e.addEventListener('input', function () {
var disabled = false;
[].forEach.call(inputs, function (inputElem) {
if(inputElem.value==''){
disabled = true;
}
});
// Set states for email and password inputs
if (disabled) {
button.setAttribute('disabled', '');
} else {
button.removeAttribute('disabled');
}
});
});
JSFiddle:http://jsfiddle.net/aecaaa9e/14/