如下表单<form name="form1" onsubmit="getotalnum();">
<input type="hidden" value="0" name="totalnum" id="totalnum">
<input type="text" name="a1" value="A">
<input type="text" name="a2" value="B">
<input type="text" name="a3" value="C">
……
<input type="text" name="aN" value="N">
</form>js:
<script>
function getotalnum(){
//这里的循环的函数应该怎么写?
document.getElementById('totalnum').value+=1;
}
</script>
Q:如何在提交表单的时候,通过函数getotalnum,将表单内,从a1到aN,只要value不为空的text项目总数统计出来?
也就是,在表单form1中,有a1到aN个text,只要输入了值,就给表单中隐藏属性的totalnum赋值,每次+1?如:a1不为空,提交表单时,totalnum+1 ,a2不为空,totalnum+1+1一直循环到an?
<input type="hidden" value="0" name="totalnum" id="totalnum">
<input type="text" name="a1" value="A">
<input type="text" name="a2" value="B">
<input type="text" name="a3" value="C">
……
<input type="text" name="aN" value="N">
</form>js:
<script>
function getotalnum(){
//这里的循环的函数应该怎么写?
document.getElementById('totalnum').value+=1;
}
</script>
Q:如何在提交表单的时候,通过函数getotalnum,将表单内,从a1到aN,只要value不为空的text项目总数统计出来?
也就是,在表单form1中,有a1到aN个text,只要输入了值,就给表单中隐藏属性的totalnum赋值,每次+1?如:a1不为空,提交表单时,totalnum+1 ,a2不为空,totalnum+1+1一直循环到an?
function getotalnum(){
for (var i=1;i<=N;i++){
if (document.getElementById('a'+i).value.length>0)
document.getElementById('totalnum').value+=1;
}
}
for(var i=1;i<=4;i++) {
var tmp = document.getElementById("a" + i).value;
if (tmp!=""){
document.getElementById('totalnum').value+="1";
}
}
alert(document.getElementById('totalnum').value);
}
怎么去统计这些不确定的项目?
document.getElementById('elementName').type=="text"
var inputs = document.getElementsByName('form1')[0].getElementsByTag('input'),
total = 0;
for(var i = 1, len = inputs.length; i <= len; i++) {
if(inputs[i].type == 'text' && inputs[i].value != '') total++;
}
document.getElementById('totalnum').value = total;
<div id="myDiv">
<input type=text />
<input type=text />
<input type=text />
<input type=text />
<input type=text />
<input type=text />
<input type=text />
<input type=text />
<input type=text />
<input type=text />
</div>
<div>
<input type=button value="Click here" onclick="getTotalNum();" />
<input type=text id="hidden" />
</div> function getTotalNum() {
var totalNum = 0;
var allText = document.getElementById("myDiv").getElementsByTagName("input");
for (var i = 0, l = allText.length; i < l; i++) {
if (allText[i].value.length > 0) totalNum++;
}
document.getElementById("hidden").value = totalNum;
}
<form>
<input id="a1" type="text" value="A">
<input id="b1" type="checkbox" value="B">
<input id="c1" type="radio" value="true">
……
</form>这样会不会把所有对象都统计在内了?
如果用 var allText = document.getElementById("myDiv").getElementsByTagName("input");
这句的话?