2013-03-13 18 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

相關問題