将表单状态保存到服务器而不会打扰页面

时间:2014-06-16 13:12:56

标签: javascript jquery html forms

我需要将表单的状态保存到服务器,以便用户在重新访问站点时可以重新加载它。但是,我不希望当前页面刷新。

在某种程度上,我的表单有一个文本输入字段和一个保存按钮:

<form name="selectparams" action="" method="GET">
...
Name: <input type="text" id="user_name">
<input type="submit" value="Save!"
       onclick="save_form(this); return false;">

单击“保存”按钮时,将调用此函数:

function save_form(button) {
    var input = $("#user_name");
    var name = input.val();

    if (name == "") {
        alert("You didn't enter a name. I will call you 'Sam'");
        name = "Sam";
    }
    var client = new HttpClient();
    var args = {
        name: name,
        value: JSON.stringify(button.form.values())
    };
    var url = Arg.url("/save", args);
    client.get(url, function(resp) { console.log("saved"); });
};

这一切似乎都运行正常,但页面刷新,失去了两者 现有表单设置和用户生成的任何其他内容 (使用表单的多个提交,每个提交生成一个2d 图)。

我怎么能不这样做?

... THX

2 个答案:

答案 0 :(得分:1)

按钮类型按钮不提交类型

<input type="button" value="Save!" onclick="save_form(this);">

答案 1 :(得分:0)

对于这种情况,您可以使用return false。

<input type="submit" value="Save!" onclick="return save_form(this);"/>

在函数last中,您可以返回false,如下所示

function save_form(button) {     
   .........
   .........
   return false;
}