我有一个带有提交按钮的表单和一个在数据库中存储数据的处理程序。问题是提交表单时,所有数据都从输入字段中清除。有没有办法在提交后仍然显示它们?我需要对form_submit函数进行哪些更改?
function mymodule_form_submit($form, &$form_state) {
//how to retain the input in the form
}
我正在寻找最“彻底”的方法来完成这项工作?
答案 0 :(得分:3)
正如this previous StackOverflow question所示,您可以使用$ form_state ['storage']和$ form_state ['rebuild']来完成此任务。
答案 1 :(得分: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>