【发布时间】:2015-02-01 02:49:32
【问题描述】:
当用户单击“保存”按钮时,我正在尝试通过本地存储存储所有表单字段值(在输入 ID 下),就像 localStorage.setItem("input id", fieldvalue); 一样。原因是以后用户可以选择重新加载表单字段值而不是重新输入所有内容问题是输入 id 和 name 字段是未知的,因为它们是根据用户在上一页中选择的内容生成的(他们选择什么模板)。
演示(假设这是生成的):
<input type="text" id="meta_title" name="seo_meta_title">
<input type="text" id="meta_description" name="seo_meta_description">
<input type="text" id="header" name="header">
<!-- Submit form-->
<input type="submit" value="Create">
<!-- buttons-->
<button onclick="save()">save</button>
<button onclick="load()">load</button>
因为不知道输入id,所以不能随便写:
function save() {
if (typeof(Storage) != "undefined") {
//some_code_to_insert_value = x, y, z
localStorage.setItem("meta_title", x);
localStorage.setItem("meta_description", y);
localStorage.setItem("header", z);
}
}
加载函数也是如此
// LOAD
function load() {
if (typeof(Storage) != "undefined") {
// Adds data back into form fields
document.getElementById("meta_title").value = localStorage.getItem("meta_title");
document.getElementById("meta_description").value = localStorage.getItem("meta_description");
document.getElementById("header").value = localStorage.getItem("header");
}
}
我对 JavaScript 非常陌生,因为我相信您可以提供任何帮助,代码或链接将不胜感激,并且工作的 js fiddle 将令人惊叹(只要它不依赖于预先知道输入 id 等。)我花了几个小时试图做到这一点,并浪费了更多的时间来尝试生成 PHP 所需的 JS,直到我被告知这是一种糟糕的方法。
【问题讨论】:
-
您的 HTML 和 JavaScript 中都有非法字符。
-
此处输入错误
(""meta_description")项目名称前的两个引号。 -
抱歉会更正,这只是演示代码不起作用。仅在此处举例
标签: javascript php jquery html local-storage