【发布时间】:2017-06-29 17:57:17
【问题描述】:
这里是初学者。我正在尝试使用条件来检查是否已填写文本输入,否则如果为空,则提示警报但它似乎没有做任何事情?我的 JS 布局不好?这是我的jsfiddle。 https://jsfiddle.net/rtomino/4ywq9n3n/2/
谢谢!!
<div>
<label for="cand1">Candidate 1</label>
<input class="candidate" id="cand1" placeholder="Candidate">
</div>
<div>
<label for="cand2">Candidate 2</label>
<input class="candidate" id="cand2" placeholder="Candidate">
</div>
<div>
<label for="cand3">Candidate 3</label>
<input class="candidate" id="cand3" placeholder="Candidate">
</div>
JS
function candidateNames() {
var inputs = document.getElementsByTagName("input");
var result = [];
for ( var i = 0; i < inputs.length; i += 1 ) {
result[i] = inputs[i].value;
if (inputs === '' || null || 0) {
alert('Need to fill inputs');
}
}
document.getElementById("candidateName1").innerHTML = result[0];
document.getElementById("candidateName2").innerHTML = result[1];
document.getElementById("candidateName3").innerHTML = result[2];
}
【问题讨论】:
-
您正在测试输入是否 === '' ||空 ||等等......你确定你检查的是正确的变量吗?输入是一个数组..它可能不为空。您是否要查看 inputs[i].value === '' ||空 ||等等?
-
除了@Aaron 提到的,您不能将一个变量与多个值进行比较。您需要将某些内容与
''进行比较,然后将相同的内容与null进行比较,然后将相同的内容与0进行比较。但是请注意,输入的值始终是字符串,因此永远不会是null或0(但可能是"0")。
标签: javascript for-loop if-statement input