【发布时间】:2014-02-19 20:03:15
【问题描述】:
我正在尝试捕获我的输入字段的值,并在我的表单类中有以下方法来做到这一点:
getData: function() {
var fields = ['name', 'email', 'message'];
$.each(fields, function(index, el) {
form.data[el] = $('#'+el).val();
console.log(form.data[el]);
});
},
(不要介意“选择”字段,这是一个定制的选择框,我必须以不同的方式处理它) 我对表单更改事件执行捕获。 输入字段都有正确的 id,它们看起来像这样:
<input type="text" id="name">
<input type="email" id="email">
<textarea name="message" id="message"></textarea>
现在,当我在字段中输入内容时,我只能从 textarea 中获取值,而其他输入给我 undefined。
我还会注意到表单是使用 Ajax 加载的,但由于它通常会捕获字段上的更改事件,我怀疑这是否是问题所在。
【问题讨论】:
-
确认您没有任何其他具有重复 ID 的元素导致问题 - 因为这应该工作。
-
是的,当然,
form.data[el] = $('#'+el).val();这个语句实际上需要通过nameattr 映射。无论如何用自我回答来结束问题。