2013-03-13 94 views
1

我在窗体中有许多文本输入在一页如何在页面重新加载或刷新时记住表单输入而不提交事件?

与他们一起我提供zend分页来选择结果。

但是当我使用Zend的分页用户表单输入都会丢失,因为它不提交

为页面重新加载evertime我移动到一个新的页面,有什么办法,我可以保持用户输入。

请任何一个可以帮助我找到一个解决这个问题..

+0

如果数据不敏感,则使用会话或cookie。如果你想在第一次“提交”之前保存信息,那么你将不得不通过ajax将输入内容悄悄地发送到php并在那里管理它们 – aleation 2013-03-13 09:33:34

回答

1

伪代码:

用JavaScript得到改变的值,并将其存储在库克(使用jQuery插件的cookie)

jQuery('form').on('change', 'input', function() { 
    jQuery.cookie(...) 
}) 
+0

你的代码我用于提醒分页,但不知道如何在chnage事件后预先填写表单值。 – user2156674 2013-03-13 09:46:14

+1

不要指望在这个'论坛'中有一个完整的应用程序。我们给你提示,你调查并尝试编程。这样你会学到最多的东西。 – HerrSerker 2013-03-13 09:56:53

+0

你有两种可能性:JavaScript或PHP – HerrSerker 2013-03-13 09:57:24

0

您可以使用会话:

$form = array(); 

if (!empty($_POST)) 
{ 
    $form = $_POST; 
} 

elseif (!empty($_SESSION['form'])) 
{ 
    $form = $_SESSION['form']; 
} 

然后用$form来填充输入字段。

+0

他说,没有提交表单... – 2013-03-13 09:35:54

+0

页面必须首次提交服务器来获取用户的输入;只是在使用分页时显然不提交(再次) - 因此您使用会话来存储初始提交,然后在浏览页面时重新使用该提交。 – MichaelRushton 2013-03-13 09:42:04

+0

当我分页时没有任何东西被提交,就像你填写表单后打开页面一样,你只需点击重新加载或刷新。我checkked我没有得到任何价值退出后 – user2156674 2013-03-13 09:47:36

1

解决的办法是......

AJAX + 会话

在上发送ajax请求每个输入的事件。
将数据保存到Session

每次您加载表单数据时,请检查Session以填写表单字段。

0

您可以使用元素的ajax onfocusout并将值存储在session中。加载页面时从会话中获取数据并显示它。

+0

你的想法听起来很有用,但我是noob在jquery – user2156674 2013-03-13 09:50:32