我正在尝试保存html页面的快照。 我对我所取得的成绩非常满意,但我无法保存每个输入字段的确切状态。例如,如果我发送到db这个:
data = data+"&knobs="+encodeURIComponent($('#knobs').html());
data = data+"&html="+encodeURIComponent($('#pane').html());
我稍后会问:
$('#pane').html((data.html));
$('#knobs').html((data.knobs));
输入字段不正确,它们会错过value属性并改为使用默认值。 因为我不想为页面中的每个该死的对象做一个变量(很多)我在这里询问是否有任何方法可以获得html页面的精确快照。
示例:
如果我向数据库发送html()并且输入字段的“movie”为.val() 当我从数据库中提取html时,它是:
<input type="text" value="default value">
我尝试了一些愚蠢的黑客攻击,但没有一个能够奏效。我很高兴收到你的来信。
再见
答案 0 :(得分:1)
问题是对$('#knobs').html()
的调用会将匹配元素中内容返回为html,而$('#pane').html((data.html))
会在元素中设置html。
对于输入元素,您希望使用val()
函数来获取和设置值,如下所示:
// Save data
data = data+"&knobs="+encodeURIComponent($('#knobs').val());
// Update input fields
$('#knobs').val((data.knobs));
如 shybovycha 所述,您可以在第一部分使用jQuerys .serialize()
函数,以节省一些时间:http://api.jquery.com/serialize/
答案 1 :(得分:1)
为什么不serialize整个表格?