我有动态输入列表字段,这些字段是使用+所需的行数生成的,或者使用 - 按钮删除 我希望用选择的预定义值替换输入字段,所以我用jQuery replaceWith()函数来完成它。 但我的问题是如何在页面重新加载中选择选择的值在prev next step form中。
以下是我已经复制http://jsbin.com/josorepiru/1/edit?html,js,output
的代码谢谢!
答案 0 :(得分:1)
您可以使用本地存储,例如:
window.addEventListener("beforeunload", function(e){
sessionStorage.setItem( "list1", $("list1").val() );
}, false);
然后在加载时恢复
答案 1 :(得分:1)
您是否尝试过使用Cookie或本地存储空间?这些可能是您可以存储您希望持久的用户数据的地方。 Local Storage vs Cookies
或者,如果您的用户允许使用Cookie,则可以始终使用服务器端资源 - 例如会话或从CSRF *键入的数据库条目。 Session Variables vs Database Storage in Terms of Speed
*我的多页表单总是在一组表单标签中的一个实际页面上。每个页面'只是一个通过CSS显示的部分 - 如果javascript关闭仍然有效,它只是一个looong形式。所以来自' page'到页面'我的CSRF保持不变的形式。此外,由于用户永远不会导航,所以' page'导航没有杀死'输入表格的任何数据。
我最终做的是在DOM加载后运行一些JavaScript,并根据元素及其属性/属性操作表单元素,这使得页面元素与我存储的元素相匹配。在此之前,我曾使用PHP将PHP变量服务器端回送到运行客户端的JavaScript中 - 但该任务确实更适合前端代码。它并不漂亮,但它适用于预设下拉列表。
我偶然发现了其他人使用PHP / JavaScript首次操作表单元素的代表性示例:Injecting Stored Information into JavaScript via PHP在该示例中,您可以看到如何将存储的信息放入JavaScript中。这对我来说既麻烦又不专业,所以我现在做的事情不同了。现在,我通过设置正确的'选择'来完成所有这些操作。选项标签中的属性 - 显然,您需要通过文本值,复选框选中或textarea元素的节点文本为其他元素编辑它。对于AJAX请求,所选选项在返回数据中指示并以标准化方式处理 - 即使它只是我自己的标准。
为什么我告诉你这个可能无关的服务器端东西 - 因为你可能想要考虑存储你可以控制的进度表格数据服务器端...
答案 2 :(得分:0)
从另一个答案...我的多页表单总是在一组表单标签中的一个实际页面上。每个页面'只是一个通过CSS显示的部分 - 如果javascript关闭仍然有效,它只是一个looong形式。所以来自' page'到页面'我的CSRF保持不变的形式。此外,由于用户永远不会导航,所以' page'导航没有杀死'输入表格的任何数据。
考虑制作一个huuuge单页表单,并通过隐藏和显示在CSS中呈现某些部分。你的回复'和' next'按钮只是操纵用户看到的表单的哪一部分。