Отображение данных формы после отправки - PullRequest
3 голосов
/ 28 августа 2010

У меня есть форма с кнопкой отправки и обработчиком, который хранит данные в базе данных. Проблема в том, что при отправке формы все данные удаляются из полей ввода. Есть ли способ показать их после отправки? Какие изменения мне нужно внести в мою функцию form_submit?

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

Я ищу самый "друпальский" способ сделать это?

Ответы [ 2 ]

3 голосов
/ 28 августа 2010

Как указано в этом предыдущем вопросе StackOverflow , вы можете выполнить это с помощью $ form_state ['storage'] и $ form_state ['rebuild'].

0 голосов
/ 28 августа 2010

Вы можете получить доступ к данным, используя $_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>
...