Javascript 获取所有表单数组到JS数组
我在将所有表单数组值获取到JS数组时遇到问题,其中一个值工作正常:Javascript 获取所有表单数组到JS数组,javascript,html,arrays,Javascript,Html,Arrays,我在将所有表单数组值获取到JS数组时遇到问题,其中一个值工作正常: var el = document.getElementsByName('p[]'); for (var i = 0, j = el.length; i < j; i++) { var elem = el[i]; alert(elem.value); } var el=document.getElementsByName(
var el = document.getElementsByName('p[]');
for (var i = 0, j = el.length; i < j; i++) {
var elem = el[i];
alert(elem.value);
}
var el=document.getElementsByName('p[]);
对于(变量i=0,j=el.length;i
但当我尝试添加更多内容时,它不起作用:
var el = document.getElementsByName('p[]', 'k[]', 'ka[]', 's[]');
for (var i = 0, j = el.length; i < j; i++) {
var elem = el[i];
alert(elem.value);
$.post("test.php", { 'p': [elem.value] });
}
var el=document.getElementsByName('p[]','k[]','ka[]','s[]');
对于(变量i=0,j=el.length;i
这是我的表单:表单是动态的(通过单击按钮,我可以使用以下4个字段添加新行:
<form name="form">
<input type="text" name="p[]" id=name" />
<input type="text" name="k[]" id="quant" size="3" />
<input type="text" name="ka[]" id="price" size="10" />
<input type="text" name="s[]" id="sum" size="10" disabled="disabled"/><br />
</form>
不会以您尝试使用它的方式神奇地接受多个参数。您需要多次调用gEBN
,每个名称一次(详细描述见)
或者,只需在
的输入上循环:
var form = document.getElementsByName('form')[0];
var inputs = form.getElementsByTagName('input');
for (var i = 0, j = inputs.length; i < j; i++) {
// snip
}
var form=document.getElementsByName('form')[0];
var inputs=form.getElementsByTagName(“输入”);
对于(变量i=0,j=inputs.length;i
不会以您尝试使用它的方式神奇地接受多个参数。您需要多次调用gEBN
,每个名称一次(如所述)
或者,只需在
的输入上循环:
var form = document.getElementsByName('form')[0];
var inputs = form.getElementsByTagName('input');
for (var i = 0, j = inputs.length; i < j; i++) {
// snip
}
var form=document.getElementsByName('form')[0];
var inputs=form.getElementsByTagName(“输入”);
对于(变量i=0,j=inputs.length;i
方法get elementsByName使用一个字符串参数,因此您应该执行以下操作:
var listOfElements = ['p[]', 'k[]', 'ka[]', 's[]'];
for (var i=0; i<listOfElements.length; i++) {
var el = document.getElementsByName(listOfElements[i]);
...
}
var-listofements=['p[]'、'k[]'、'ka[]'、's[]';
对于(var i=0;i方法get elementsByName使用一个字符串参数,因此您应该执行以下操作:
var listOfElements = ['p[]', 'k[]', 'ka[]', 's[]'];
for (var i=0; i<listOfElements.length; i++) {
var el = document.getElementsByName(listOfElements[i]);
...
}
var-listofements=['p[]'、'k[]'、'ka[]'、's[]';
for(var i=0;我只支持一个参数。为什么文本输入有数组名?既然您想获取表单中的所有元素,也可以使用var el=document.forms['form'].elements;
@Bergi,因为正如我在单击“添加”按钮时提到的那样,这里添加了相同的4个输入fields@RobW这真的有效吗?我在MDC anywhere上看不到它:只支持一个参数。为什么文本输入有数组名?既然您想获取表单中的所有元素,也可以使用var el=document.forms['form'].elements;
@Bergi,因为正如我在单击“添加”按钮时提到的那样,这里添加了相同的4个输入fields@RobW这真的有效吗?我在MDC的任何地方都看不到它:你忘了只使用节点列表中的第一个表单。@Matt Ball现在工作正常了,有没有办法也添加字段名,如p=value,k=value…我将所有数据都添加到sen中d到php文件并将其添加到mysql。@OsvaldaKazlauūiūnaitė如果您不介意使用jQuery,将为您完成所有这些工作。您忘了只使用节点列表中的第一个表单。@Matt Ball现在工作正常,有没有办法也添加字段名,如p=value,k=value…我可以将所有数据发送到php文件并将其添加到mysql。@OsvaldaKazlauč如果您不介意使用jQuery,我将为您完成所有这些工作。