2010-08-27 56 views
3

我有一個表單,其中包含一個提交按鈕和一個將數據存儲在數據庫中的處理程序。問題是當表單被提交時,所有數據都從輸入字段中清除。提交後仍然有辦法顯示它們嗎?我需要對form_submit函數進行哪些更改?在提交之後顯示錶單數據

function mymodule_form_submit($form, &$form_state) { 
//how to retain the input in the form 
} 

我正在尋找最「drupalish」的方式來完成這項工作?

回答

3

正如this previous StackOverflow question表示你可以用form_state $ [ '存儲']和$ form_state做到這一點[ '重建']。

+0

我實際上在發佈之前閱讀了這篇文章,但有一個印象就是多步驟表單。我這樣想是否錯了? – Berming 2010-08-27 22:40:39

+0

設置重建選項只需保留提交的數據。我想我應該說「只是@ kidrobot答案的最後部分是適用的」。對不清楚的道歉。 – 2010-08-28 04:47:03

0

您可以使用$_REQUEST['form_variable_name']訪問數據,其中form_variable_name是html輸入標記的名稱。

然後您需要將該頁面渲染回輸入標記值字段中。

<form method="POST" action="/account/contactdetails/"> 
<div> 
    <label>First name:</label> 
    <input type="text" name="firstname" value="<?php echo $_REQUEST['firstname']; ?>" /> 
</div> 
<div> 
    <label>Last name:</label> 
    <input type="text" name="lastname" value="<?php echo $_REQUEST['lastname']; ?>" /> 
</div> 
<input type="submit" value="Save" /> 
</form> 
+0

這是「drupalish」嗎? – Berming 2010-08-27 21:55:03