如果总数=x,则Javascript显示消息
这里是HTML/Java noobie,请耐心听我说。我在一个页面上有多个数量选择器,然后是一个获取所有值总和的javascript如果总数=x,则Javascript显示消息,javascript,Javascript,这里是HTML/Java noobie,请耐心听我说。我在一个页面上有多个数量选择器,然后是一个获取所有值总和的javascript <label for="quantity">Option 1: </label> <input class="product-selector-field" onblur="findTotal()" min="0" type="number" id="quantity1" name="quantity" value="0" />
<label for="quantity">Option 1: </label>
<input class="product-selector-field" onblur="findTotal()" min="0" type="number" id="quantity1" name="quantity" value="0" />
<br><br>
<label for="quantity">Option 2: </label>
<input class="product-selector-field" onblur="findTotal()" min="0" type="number" id="quantity2" name="quantity" value="0" />
<br><br>
Total Selected : <input type="text" name="total" id="total" readonly = true/>
<script type="text/javascript">
function findTotal(){
var arr = document.getElementsByName('quantity');
var tot=0;
for(var i=0;i<arr.length;i++){
if(parseInt(arr[i].value))
tot += parseInt(arr[i].value);
}
document.getElementById('total').value = tot;
}
</script>
有人知道我可能做错了什么吗
oninput
而不是onblur
,这样更好isNaN
检查值是否为有效数字。(请记住,如果(0)为false
),则0
将被排除在外,即使它们是有效数字))。当然,这取决于你需要什么,我的意见是它应该隐藏起来
.removeClass
或.addClass
这样的函数(这些是jQuery的)。使用.classList。添加和.classList。删除或.className=
李>
#错误消息{
颜色:红色;
}
.隐藏{
显示:无;
}
选项1:
备选案文2:
所选总数:
错误
函数findTotal(){
var arr=document.getElementsByName(“数量”);
var-tot=0;
对于(变量i=0;i
If
应该是If
(小写i),并且DOM节点没有.removeClass()方法。它应该是.classList.remove(“hide”)
。还有document.getElementByID.addClass
根本不是一个合理的代码。第1课:JavaScript与Java无关。看看浏览器的错误控制台,看看它是否告诉了你什么。document.getElementByID('errorMessage').classList.toggle(“hide”,tot==15)
这还是比较简单的。@squint谢谢,那很有效!
<span id="errorMessage">Error</span>
If (tot!=15) {
document.getElementById('errorMessage').removeClass("hide")
} else {
document.getElementByID.addClass
}
.hide {
display: none !important;
}