我需要帮助让 javascript 读取 html 输入表单,并将输入分配给一个数组,或者至少我认为是一个数组....我不确定。
我想从 html 表单中获取数据,并将其放在这里:
var users = ['"This is a random qoute"-lastname,firstname."','"This is a random
qoute"-lastname,firstname."'];
这可能吗?
我需要帮助让 javascript 读取 html 输入表单,并将输入分配给一个数组,或者至少我认为是一个数组....我不确定。
我想从 html 表单中获取数据,并将其放在这里:
var users = ['"This is a random qoute"-lastname,firstname."','"This is a random
qoute"-lastname,firstname."'];
这可能吗?
检查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/
如果您想要一个文本输入名称和值的数组,以下将完成这项工作。如果你想
序列化表单以进行发布,这需要更多代码。
<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>"
你可以用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"....]