【发布时间】:2015-06-14 05:30:04
【问题描述】:
我有一个哈希值,我想获取其中的每一个值并将它们放在一个文本字段中。我现在写出的一个问题是这些值在 HTML 中是硬编码的,因此如果用户要在文本字段中进行更改,则在提交表单时它们将被忽略。有什么方法可以插入我的哈希中的数据,而无需将它们显式写入value 属性,但仍会在提交时进行处理?
HTML
<form action="">
<table></table><br />
<input type="submit" />
</form>
JS
var data = [{name: "Object One", num: 1}, {name: "Object Two", num: 2}, {name: "Object Three",num: 3}];
for (var i = 0; i < data.length; i++) {
var dataNum = "<td><input type='text' value='" + data[i]["num"] + "'></td>",
dataName = "<td><input type='text' value='" + data[i]["name"] + "'></td>";
var $tr = "<tr>" + dataNum + dataName + "</tr>";
$("table").append($tr);
}
【问题讨论】:
-
我没有得到“没有将它们显式写为值属性”部分,但要作为表单数据的一部分提交,输入必须指定
name属性。 -
正确。动态生成元素的值也可以使用 .on 更新
-
@CarlEdwards - 这并没有让它更清楚。如果你不想要
value属性 - 不要写它。 -
value 属性仅用作初始默认值。如果用户编辑该字段,则更改后的值将被提交。
-
@CarlEdwards - 你错误地认为
jQuery.val()做的事情不是为 html 输入分配元素值属性。
标签: javascript jquery html forms