我有一个<input type="text" name="value"/>
在一个循环中。比较输入值在JS
<%for (i=0;i<10;i++){%>
<input type="text" name="value"/>
<%}%>
<input type="button" name="submit">
在提交时,我需要检查的输入变量(10盒)不应超过100
值,请让我知道如何调用一个JS和发送这些10个值它和比较与100
我有一个<input type="text" name="value"/>
在一个循环中。比较输入值在JS
<%for (i=0;i<10;i++){%>
<input type="text" name="value"/>
<%}%>
<input type="button" name="submit">
在提交时,我需要检查的输入变量(10盒)不应超过100
值,请让我知道如何调用一个JS和发送这些10个值它和比较与100
要给予适当的JavaScript答案:
获取到您的窗体的引用:
var form = document.getElementById('formId');
绑定的事件处理程序提交事件,例如:
form.onsubmit = function() {...};
的手柄内,得到所有输入元素的引用与名字value
:
var inputs = this.elements['value'];
遍历元素,总结他们的价值观:
var sum = 0;
for(var i = 0, len = inputs.length; i < len; i++) {
sum += +inputs[i].value;
}
停止默认的动作,如果总和大于100:
if(sum > 100) {
return false;
}
完整示例:
var form = document.getElementById('formId');
form.onsubmit = function() {
var inputs = this.elements['value'],
sum = 0, i, len;
for(i = 0, len = inputs.length; i < len; i++) {
sum += +inputs[i].value;
}
if(sum > 100) {
return false;
}
};
裹一切都在一个div为范围的缘故
<div id="inputs">
// Your code
</div>
然后可以循环
总和total = 0;
$("#inputs input").each(function(){
total += parseInt($(this).val());
});
alert("You have a total value of" + total);
if(total > 100){
alert("It's more than 100, I should do something here");
}
我没有看到提及的jQuery ... –
@FelixKling如果他使用js,他可以使用jQuery。将它添加到项目中绝不是一件坏事,如果他不能使用jQuery,他会在这里发表评论。 – marcgg
扩展上@ marcgg的回答是:
$("form").submit(function() {
total = 0;
$("#inputs input").each(function(){
total += parseInt($(this).val());
});
alert("You have a total value of" + total);
if(total > 100){
alert("It's more than 100, I should do something here");
return false;
}
});
imho'e.preventDefault()'会比'return false'更好 – marcgg
究竟是什么问题? [如何获取DOM元素的引用?](https://developer.mozilla.org/en/Gecko_DOM_Reference/Introduction#How_Do_I_Access_the_DOM.3F)[如何访问它们的值](http://stackoverflow.com/questions/6069146 /对获得价值 - 的 - 文本框,在JavaScript的)? [如何比较两个数字?](https://developer.mozilla.org/en/JavaScript/Guide/Expressions_and_Operators#Comparison_Operators) –