Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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数组中_Javascript_Jquery_Html_Arrays - Fatal编程技术网

将所有表单值获取到javascript数组中

将所有表单值获取到javascript数组中,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我正在尝试将所有表单值放入普通数组[]。我有它的工作标签,但后来我添加了一些标签,似乎无法得到它 只需使用标签就可以了 var content = document.querySelectorAll("#form input[name='content[]']"); 我现在正在尝试类似的东西 var content = document.elements["content[]"].value; 由于表单的每个部分都是用户选择添加的模块,因此该表单可以随着用户输入的变化而变化。按顺序获取值也很

我正在尝试将所有表单值放入普通数组[]。我有它的工作标签,但后来我添加了一些标签,似乎无法得到它

只需使用标签就可以了

var content = document.querySelectorAll("#form input[name='content[]']");
我现在正在尝试类似的东西

var content = document.elements["content[]"].value;
由于表单的每个部分都是用户选择添加的模块,因此该表单可以随着用户输入的变化而变化。按顺序获取值也很重要,如果这不可能,那么我需要将其设置为JSON数组。纯javascript或jquery都可以

谢谢你的帮助

编辑

我用这个来解决我的问题

  var contents=[]
  var content = $('#form').serializeArray()
  for (var i = 0; i < content.length; i++) {
    contents[contents.length]=content[i].value
  };
var contents=[]
var content=$('#form')。序列化数组()
对于(变量i=0;i
试试看

html


请参见

我建议看一看jQuery的serializeArray注意,在Java脚本中,数组不能有键字符串,只能有数字(您可以强制输入名称,它们将被使数组成为实际数组的位完全忽略,如.length、.forEach()等)。如果您想要一个“dictionary”类型的对象,那么实际上您想要一个常规JavaScript对象。@kinakuta在研究之后,它正是我想要的。只是按顺序提取了值。用我用过的答案更新了这个问题。一个简短的描述将与答案一起适用。这是否也找到了内容?我用解决方案更新了OP。@SDLA4从未尝试
textarea
,尽管
var\u arr=[content.prop(“value”)textarea
,code>应返回相同的值。问题可能是在
名称
中转义了
[]
?谢谢
<form id="form">
    <input type="text" name="content[]" value="abc" />
    <textarea name="textarea" value="">123</textarea>
</form>
$(function() {
  var form = $("#form");
    // escape `[]`
    var content = form.find("input[name=content\\[\\]]");
    // array `literal declaration` 
    var _arr = [content.prop("value")];
    // map all form values to single array
    var arr = $.map(form.serializeArray(), function(v, k) {
      return [v.value]
    });
    // array literal with `textarea` `value`
    var t = [$("textarea").prop("value")];
    console.log(_arr, arr, t); 
    // _arr: `["abc"]` , arr:`["abc", "123"]` t:`["123"]` 
})