使用jquery保存输入字段状态,发送到db以便稍后读取

时间:2010-11-21 18:23:07

标签: javascript jquery

我正在尝试保存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">

我尝试了一些愚蠢的黑客攻击,但没有一个能够奏效。我很高兴收到你的来信。

再见

2 个答案:

答案 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整个表格?