0

我需要帮助让 javascript 读取 html 输入表单,并将输入分配给一个数组,或者至少我认为是一个数组....我不确定。

我想从 html 表单中获取数据,并将其放在这里:

var users = ['"This is a random qoute"-lastname,firstname."','"This is a random
qoute"-lastname,firstname."'];

这可能吗?

4

3 回答 3

0

检查jQuery.serializeArray
示例:

$('form').submit(function() {
  var params = $(this).serializeArray();
  console.log(params);
    return false;
});

控制台将显示如下内容:

[
    {
        name: "input1Name",
        value: "input1Value"
    },

    {
        name: "input2Name",
        value: "input2Value"
    }
]

提交表单后,您可以访问对象中的参数,例如:

得到所有

jQuery.each(params, function(objPosition, obj){
    alert("name: " + obj.name + " Value: " + obj.value);
});

或者得到一个(在这种情况下是第一个)

alert("name: " + params[0].name + " Value: " + params[0].value);

你可以看到它在这里工作:http : //jsfiddle.net/ricardolohmann/Jfu9H/

于 2012-04-12T04:21:12.710 回答
0

如果您想要一个文本输入名称和值的数组,以下将完成这项工作。如果你想

序列化表单以进行发布,这需要更多代码。

<script type="text/javascript">
function getInputs(form) {
  var input, inputs = form.getElementsByTagName('input');
  var result = [];

  for (var i=0, iLen=inputs.length; i<iLen; i++) {
    input = inputs[i];

    if (input.type == 'text') {
      result.push(input.name + ': ' + input.value)
    }
  }
  return result;
}

</script>

<form>
 <table>
  <tr>
   <td>name<td><input type="text" name="userName">
  <tr>
   <td>age<td><input type="text" name="userAge">
  <tr>
   <td colspan="2"><input type="button" value="Show inputs" 
       onclick="alert(getInputs(this.form));">
</table>
</form>

节目"userName: <value>, userAge: <value>"

于 2012-04-12T05:05:30.430 回答
0

你可以用jQuery.serialize()很好地做到这一点

如果您不熟悉 jQuery,请使用本教程了解其基础知识。它是一个 Java 脚本库。

现在你可以按照我写的这个例子来工作了。

它将表单元素值读入字符串,

var srt=$("form").serialize();

并从 '&' sing 中拆分结果字符串以获得预期的字符串数组。

var srtArray=srt.split('&');

结果是这样的,

["text1=Lasantha", "dropDownList1=Single", "List1=Multiple1", "List1=Multiple3", "checkBox2=check2", "radioButton1=radio1"]

它的形式是,

["name=value","name=value"....]
于 2012-04-12T05:11:42.827 回答