将一堆输入存储在一个javascript数组中?

时间:2011-04-03 01:42:55

标签: javascript jquery

我在页面上有一堆输入,即:

<input name="user[name]" />
<input name="user[phone]" />
<input name="user[email]" />

我想做的是,提交表单是抓取用户数组的所有变量并将它们存储在javascript数组中。

是的,我认为这样的事情会起作用:

$('submit').click(function(e){

 e.preventDefault;


 $.each($('input[name=user*') as var) {

     var user[] = this.input value etc;

  }

});

但那是因为我对javascript数组知之甚少。

这种事情是如何实现的?

4 个答案:

答案 0 :(得分:3)

使用map()功能

$('input').map(function() {
  return this.value;
}).get();

enter image description here

答案 1 :(得分:1)

像...一样的东西。

$('submit').click(function(e){

   e.preventDefault();

   var user = [];

   $('input[name*=user]').each(function(index) {
      user[index] = $(this).val();
   });
}

答案 2 :(得分:0)

我建议您将所有元素都设为类my_inputs或其他内容,然后使用$(".my_inputs")获取它们。这样,你现在有了这些输入的对象,可以像这样循环遍历它们:

var inputs = $(".my_inputs");
inputs.each(function(i, el){
   $(el).val(); //Get input's value
});

答案 3 :(得分:0)

要在JavaScript中向数组中添加项目,您不能使用空方括号,例如PHP。另一种方法是在循环外创建一个空数组,例如

// Outside loop
var user[];

然后在循环中使用push()方法向其中添加项目:

// Within loop
user.push(input_value);