установка значений текстового поля со скрытым полем и PHP - PullRequest
0 голосов
/ 21 февраля 2012

Когда пользователь отправляет форму, и возникает ошибка, я хочу, чтобы все, что они ввели, оставалось в текстовом поле, чтобы они могли редактировать его вместо повторного ввода.Я пытаюсь использовать скрытое поле для хранения этого значения.

echo '<table><form method="post" action="" name="groupInvite"> 
      <tr><td>Event Title:</td><td> <input type="text" name="eventTitle" value = "'.$_POST['hiddenTitle']. '"></td><td>';
      $hiddenTitle = $_POST['eventTitle'];
      echo '<input type="hidden" name="hiddenTitle" value = "' .$hiddenTitle. '">';

1 Ответ

1 голос
/ 21 февраля 2012

Это:

<input type="hidden" name="hiddenTitle" value = "'<? $_POST['eventTitle'] >?'">

Должно быть:

<input type="hidden" name="hiddenTitle" value="<?= $_POST['eventTitle'] ?>" />

<?= совпадает с <? echo.Вы также перепутали закрывающий тег, и у вас есть одинарные кавычки внутри двойных кавычек - я предполагаю, что они вам не нужны, поэтому я удалил их, но если вы хотите, чтобы они отображались в текстовом полевы все равно можете добавить их обратно.

Предыдущий текстовый элемент также будет нуждаться в <?= вместо <?


Когда вы отправляете свою форму, все хранится вМассив $ _POST (при условии, что вы публикуете форму).

В вашей форме есть текстовое поле, которое пользователь заполняет, а затем отправляет.Только после его отправки будет заполнен массив $ _POST, поэтому все, что вам нужно сделать, это:

<table><form method="post" action="" name="groupInvite">
<tr><td>Event Title:</td><td> <input type="text" name="eventTitle" value="<? if(isset($_POST['eventTitle']) && trim($_POST['eventTitle']) != ''){ echo $_POST['eventTitle']; } ?>"></td><td>

Мы проверяем, существует ли $_POST['eventTitle'] (если форма была отправлена ​​в основном)и что это не пусто.Если это так, мы выводим его содержимое в значение текстового поля.

...