我有一个表单,其中包含一个提交按钮和一个将数据存储在数据库中的处理程序。问题是当表单被提交时,所有数据都从输入字段中清除。提交后仍然有办法显示它们吗?我需要对form_submit函数进行哪些更改?在提交之后显示表单数据
function mymodule_form_submit($form, &$form_state) {
//how to retain the input in the form
}
我正在寻找最“drupalish”的方式来完成这项工作?
我有一个表单,其中包含一个提交按钮和一个将数据存储在数据库中的处理程序。问题是当表单被提交时,所有数据都从输入字段中清除。提交后仍然有办法显示它们吗?我需要对form_submit函数进行哪些更改?在提交之后显示表单数据
function mymodule_form_submit($form, &$form_state) {
//how to retain the input in the form
}
我正在寻找最“drupalish”的方式来完成这项工作?
正如this previous StackOverflow question表示你可以用form_state $ [ '存储']和$ form_state做到这一点[ '重建']。
您可以使用$_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>
这是“drupalish”吗? – Berming 2010-08-27 21:55:03
我实际上在发布之前阅读了这篇文章,但有一个印象就是多步骤表单。我这样想是否错了? – Berming 2010-08-27 22:40:39
设置重建选项只需保留提交的数据。我想我应该说“只是@ kidrobot答案的最后部分是适用的”。对不清楚的道歉。 – 2010-08-28 04:47:03