在您键入时存储表单输入

时间:2010-11-28 23:15:26

标签: php javascript html forms

嘿伙计们,我有一个包含3个字段1个输入,1个选择和1个textarea的表单。有没有办法在输入时存储信息?

我之所以需要这个,是因为如果您没有登录,则会将您带到另一个登录表单或注册表单的fancybox。因此,当然如果用户登录页面是令人耳目一新的,他们会丢失他们输入的文本。

感谢。

6 个答案:

答案 0 :(得分:4)

你可以完全使用YUI's Storage module,它可以容纳所有内容1)HTML5内存,2)SWF内存3)Google Gears内存4)ysql或其他东西,所以我读了。

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

编辑:这是一个excellent YUI Storage example,每5次击键计数一次,当焦点离开您正在使用的表单句柄时,可能会调用相同的保存方法。

答案 1 :(得分:3)

AJAX可以做到这一点,尽管你可能最好在POST中传递输入的内容并在页面从登录页面重新加载为回发时检索它们。

答案 2 :(得分:3)

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

答案 3 :(得分:1)

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

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

实际上,我认为问题的根源在于您向用户呈现的表单需要在进行身份验证之前使用身份验证。我认为您应该在向表单提交表单之前强制用户进行身份验证,或者不需要身份验证来发布表单(这可能不是一个好主意)。

答案 4 :(得分:0)

首先想到的最直接,最简单的方式:

将信息存储在cookie中 - 首先是当他们点击提交时,你可以随时输入他们输入的内容,登录 - 小时后,甚至下次他们访问等等。

如果您不能使用cookie,可以将其保存到某种临时表中的数据库,相对于特定会话或匿名用户....

答案 5 :(得分:0)

正如你所提到的,我认为你可以在你的所有领域使用简单的SESSION变量,或者你可以使用AJAX。你可以在同一页面弹出一个灯箱,然后登录并进一步处理你想要的。

感谢。