Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取所有表单数组到JS数组_Javascript_Html_Arrays - Fatal编程技术网

Javascript 获取所有表单数组到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(

我在将所有表单数组值获取到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('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,我将为您完成所有这些工作。