希望能够让多人参加调查,然后刷新等。需要多人根据他们的名字存储调查,以便在重新提交时不会覆盖每个调查结果。试图为每个文本框输出存储的密钥输出'person'。'name'= value。而是我得到一个undefined.name =值
<p>
<label>Name:</label> <input name="MainName" type="text"/>
</p>
$('form').submit(function() {
var person = $("#MainName").val();
$('input, select, textarea').each(function() {
var value = $(this).val(),
name = $(this).attr('name');
localStorage[person + "." + name] = value;
console.log('stored key: '+name+' stored value: '+value);
});
});
如果问题没有在上面显示,那么整个:http://jsfiddle.net/5sG8v/
答案 0 :(得分:2)
您收到了undefined
,因为您尝试引用不存在的ID:MainName
是输入字段的name
,而不是id.
给它一个MainName
的ID,或者你喜欢的任何内容:
<label>Name:</label> <input id="MainName" name="MainName" type="text"/>
答案 1 :(得分:1)
#
用于选择具有给定id
属性的元素。您的input
没有id
。
您可以为元素指定id
,也可以根据name
属性进行选择:
$('input[name="MainName"]');
答案 2 :(得分:1)
您已使用$("#MainName").val();
获取ID为MainName
的元素的值
#
用于访问具有ID的元素,但您尚未在html中定义该ID。
所以定义文本框的ID属性,如下所示:
<label>Name:</label> <input id="MainName" name="MainName" type="text"/>