array.length
一直在输出2007年的数组?
嗯..我有一个表当然有2 <tr>
1表示标题,1表示数据库中的值
我的表中有一个名为code and description的列,其中id为fCode[]
和fDesc[]
,每个都有一个元素
我有一个代码,每次单击添加时都可以克隆表格行。在每个添加的行中添加另一个fCode[]
和fDesc[]
。
2 rows = 2 fCode[], fDesc[]
在我的javascript函数中,我有这个
function validate_pr_form(e) {
var fCode = document.forms[e].elements["fCode[]"];
var fDesc = document.forms[e].elements["fDesc[]"];
for ( i = 0; i < fCode.length; i++ ){
if ( fCode[i].value == "" ) {
alert("Please choose product code");
fCode[i].focus();
return false;
}
}
for ( i = 0; i < fDesc.length; i++ ){
if ( fDesc[i].value == "" ) {
alert("Please choose product description");
fDesc[i].focus();
return false;
}
}
e.submit();
}
每当我加载页面并点击提交按钮时,我总是得到2007个数组但是当我添加另一行时,它现在变为2行(2 fCode[]
和2 fDesc[]
)我得到2个数组那些通常集中在每个数组索引中。
我的问题只有一行......
非常感谢任何帮助。
答案 0 :(得分:1)
感谢您的回答,但我已经通过获取像这样的元素名称来解决我的问题
fCode = document.getElementsByName("fCode[]");
for ( var i = 0; i < fCode.length; i++ ){
if ( fCode[i].value == "" ) {
alert("Please choose 'Product Code'.");
fCode[i].focus();
return false;
}
}
答案 1 :(得分:0)
试试这个:
var fCode = document.forms[e].elements["fCode[]"];
if (typeof fCode.length != "number")
fCode = [fCode];
var fDesc = document.forms[e].elements["fDesc[]"];
if (typeof fDesc.length != "number")
fDesc = [fDesc];