将html表单输入存储在数组

时间:2015-10-03 23:47:21

标签: javascript jquery arrays forms

我试图将html表单的输入存储在一个简单的数组中。 我找到了一些简单的教程,但我的代码仍然无法正常工作,也许我只是看不到错误。 这就是我制作数组的方式:

var person = [];
person[0] = $('#email').val();
person[1] = $('#password').val();

这是我的HTML,我有跨度#demo,我检查了数组中是否有值:

<input id="email" type="email" name="email" required="required"/><span id="errorfld"></span>
<input id="password" name="password1" type="password" required="required"/><span id="result"></span><span id="demo">text</span>

然后我有一个函数,在焦点上调用:

function demo(){
    $('#demo').text(person[0]);
}

我是否必须在其他地方搜索我的错?

2 个答案:

答案 0 :(得分:0)

一种方法是使用$.serializeArray()从表单中获取所有值。

实施例

$('#form').on('submit', function(event) {
    event.preventDefault();
    var data = $(this).serializeArray();
    $('#demo').text(data[0].value);
});

DEMO http://jsfiddle.net/7ysbd962/1/

答案 1 :(得分:0)

如果您只是在页面加载document.ready时获取值,则输入字段仍为空白。你想要像这样使用它们时需要检索值...

$(function(){


  function updateDemo(){
    var person = [];
    person[0] = $('#email').val();
    person[1] = $('#password').val();  

    $('#demo').text(JSON.stringify(person));
  }

  $('#email').on('blur',updateDemo);
  $('#password').on('blur',updateDemo);



});

这是an example

每次按下键时,您还可以使用其他侦听器(如keyup)来更新值。

Another example