我有一个带有提交按钮的表单和一个将数据存储在数据库中的处理程序。问题是提交表单时,所有数据都从输入字段中清除。有没有办法在提交后仍然显示它们?我需要对我的 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”的方式来完成这项工作?
正如前面的 StackOverflow 问题所示,您可以使用 $form_state['storage'] 和 $form_state['rebuild'] 来完成此操作。
您可以使用$_REQUEST['form_variable_name']
whereform_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>