如何检查输入是否包含字符串如果其他条件?



如何检查field1或field2(或两者)是否包含"n"并在字段3中输入字母n(如果条件)。否则(else condition)计算。

我设置了代码。它不会为if条件运行,它总是使用else条件。我想这是我身体状况的一个错误。如何让它发挥作用?

function findTotal() {
var arr = document.getElementById('field1');
var inputa = document.getElementById('field2');
var tot = 0;
if (inputa == "n" || arr == "n") {
document.getElementById('field3').value = "n";
} else {
for (var i = 0; i < arr.length; i++) {
if (parseFloat(arr[i].value))
tot = parseFloat(inputa[i].value) - parseFloat(arr[i].value);
}
document.getElementById('field3').value = tot;
}
}
<input type="text" maxlength="1" id="field1" name="field1" onblur="findTotal()" />
<input type="text" maxlength="1" id="field2" name="field2" onblur="findTotal()" />
<input type="text" maxlength="1" id="field3" name="field3" />

试试下面的代码:https://jsfiddle.net/gpbdvnso/

有相当多的点仍然不清楚,但也许下面是一个指针,你可以去哪里?我收集了集合中的所有DOM元素,然后将这些元素分配给变量a,bsum(反结构分配)。

function findTotal() {
const [a,b,sum] = document.querySelectorAll('input');  
sum.value=a.value=="n"||b.value=="n"?"n":+a.value+(+b.value)
}
<input type="text" maxlength="1" id="field1"  name="field1" onblur="findTotal()" />
<input type="text" maxlength="1" id="field2"  name="field2" onblur="findTotal()" />
<input type="text" maxlength="1" id="field3"  name="field3" />

最新更新