2010-08-27 58 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