2012-01-12 69 views
1

如何在表單提交後選中複選框?我在Codeigniter用戶指南中找到了set_checkbox函數,但它不起作用。從用戶指南頁面重新加載後保留表單值 - Codeigniter

表單域代碼

<input type="checkbox" name="mycheck" value="1" <?php echo set_checkbox('mycheck', '1'); ?> /> 
<input type="checkbox" name="mycheck" value="2" <?php echo set_checkbox('mycheck', '2'); ?> /> 

我也用Google搜索這一點,並發現一對夫婦的解決方法,但它們是基於笨的早期版本。他們基於表單驗證,這對我的表單來說不是必需的,因爲這些字段都不是必需的。

如何在提交表單後保留複選框字段值?

UPDATE:這個問題不是關於表單驗證和錯誤。我想保留頁面重新加載後的複選框字段值。 jquery是否有可能?

+0

'set_checkbox()'*是*的方式來處理這一點。必須有其他事情正在進行。你能否詳細說明「不起作用」? – 2012-01-12 20:38:26

+0

我的表單輸入代碼看起來像用戶指南的示例;數據庫正在填充適當的值,但是當我刷新屏幕時,所有值都消失。 – chowwy 2012-01-12 21:43:16

+0

'set_checkbox()'在表單提交後重新填充複選框,但驗證失敗。手動刷新頁面後,它不重新填充複選框。 – 2012-01-12 22:10:08

回答

3

如果頁面刷新時沒有提交POST,則可以使用CI會話將表單數據存儲在會話中並檢索它。所以邏輯將是

If($this->input->post()){ 
    /* ...load session class 

    ... Fetch form data as u like 

    ... Store form data in a session variable */ 
}else{ 
    /* ... Load session class 
    ... Check if session variable exist 
    ... Load form data from session variable and set the form values */ 
} 
+0

好的,謝謝。我會試試這個,但從概念上講,這對我來說很有意義。 – chowwy 2012-01-16 00:59:36

相關問題