2010-11-28 65 views
1

嘿家伙,我有一个表格,有3个字段1个输入,1个选择和1个文本区域。有没有一种方法可以在输入信息时存储信息?表格输入存储在你键入

我需要这个的原因是因为如果你没有登录提交按钮将带你到另一个登录表单或注册表fancybox。所以,当然如果用户登录页面会刷新,他们会丢失他们输入的文本。

谢谢。

+1

您应该可以在用户点击提交时保存信息,而不是用户输入的信息。 – 2010-11-28 23:25:15

回答

4

你可以完全使用YUI's Storage module,它将容纳1)HTML5内存,2)SWF内存3)谷歌齿轮内存4)ysql什么的,所以我读。

我测试过HTML5 mem和Swfstore,都是ace。

编辑:这是excellent YUI Storage example,它每5次按键计数一次,也许当焦点离开您正在处理的窗体句柄时,您可能会调用相同的保存方法。

3

AJAX可以做到这一点,尽管如果页面被重新加载为来自登录页面的回传,您可能更适合在POST中传递输入内容并检索它们。

+1

COOKIES是另一种解决方法吗? – 2010-11-28 23:20:02

+1

每个cookie只能存储4kb的数据。我不认为这是一个可靠的功能。 – 2010-11-28 23:21:27

3

这个问题没有简单的解决方案。最简单的方法是在询问用户输入之前询问登录屏幕。

1

YUI存储模块答案是一个不错的选择。否则,你将不得不改变认证逻辑的行为,它会自动将你重定向到登录页面。您必须将发布的值存储在某个临时服务器端位置,并在用户登录后重新发布这些值。

另一个选择是在实际之前通过动态HTML登录表单和Ajax验证用户提交表格。无论哪种方式,它都会改变应用程序的身份验证逻辑。

实际上,我认为问题的根源在于您向用户展示了需要身份验证才能使用身份验证的表单。我想你应该强制用户在向他们提交表单之前进行身份验证,或者不要求发布表单的身份验证(这可能不是一个好主意)。出 - - 当他们点击提交,所以你有他们键入的内容在任何时间,登录的第一件事 - 小时

存放在Cookie中的信息:首先想到的

0

的最直接,最简单的方法后来,甚至下一次他们访问等。

如果你不能使用一个cookie,也许将它保存到某种临时表中的数据库,相对于特定的会话或匿名用户....

0

正如你所说,我认为你可以使用所有字段的简单SESSION变量,或者你可以使用AJAX.where你可以弹出一个light-然后登录并进一步处理您想要的内容。

谢谢。