javascript - 获取所有表单数组到JS数组

标签 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('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] });
                      }

这是我的表单:表单是动态的(通过单击按钮,我可以使用这 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>

最佳答案

document.getElementsByName 不会像您尝试使用它的方式神奇地接受多个参数。您需要调用gEBN多次,每个名称一次(another answer 有更详细的描述)。

或者,只需循环 <form>的输入:

var form = document.getElementsByName('form')[0];
var inputs = form.getElementsByTagName('input');
for (var i = 0, j = inputs.length; i < j; i++) {
    // snip
}

关于javascript - 获取所有表单数组到JS数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11421769/

相关文章:

javascript - 在 Facebook 应用程序之外打开网站链接

html - 如何只使 flex 元素溢出而不是整个父元素?

html - 仅在 Firefox 中显示滚动条

html - 如何在 CSS/HTML 中引用计算机目录中的图像作为背景图像

c++ - 字符串数组到 C++ 函数

javascript - 为什么这个 Vidyard 脚本将 $ 更改为 $$?

javascript - 如何从另一个 HTML 页面获取文本区域输入

c++ - 从文件读取到不同的类对象

javascript - 将新对象添加到 JS 数组中

javascript - 当我初始化 Canvas 对象时,保留上下文引用是否更好