Я пытался сохранить входные данные в поле формы html после отправки. поэтому, я использовал как
<input type="text" name="myField" value="<?php echo isset($_POST['myField']) ? $_POST['myField'] : 'column_name' ?>" />
его работа хорошо, если тип ввода – text . он не работает с <textarea> и <select> .
Для текстового поля:
<textarea><?php echo isset($_POST['myField']) ? $_POST['myField'] : 'column_name' ?></textarea>
Для выбора:
<select> <option value='xx' <?php echo isset($_POST['myField'])&&$_POST['myField']=='xx'?'selected="selected"':''?>>XX</option> <option value='yy' <?php echo isset($_POST['myField'])&&$_POST['myField']=='yy'?'selected="selected"':''?>>YY</option> </select>
Если вы используете jQuery, я предпочитаю заполнять выбор с помощью javascript:
<select name='myField'> <option value='xx'>XX</option> <option value='yy'>YY</option> </select> <?php if(isset($_POST['myField'])):?> <script type='text/javascript'> $("select[name=myField] option[value='<?php echo $_POST['myField']';?>']").attr("selected","selected"); </script> <?php endif; ?>
<textarea> s не имеют атрибута value . У них есть тело:
<textarea name="myField2"><?php echo isset($_POST['myField2']) ? $_POST['myField2'] : 'column_name' ?></textarea>
Аналогично, <select> s не имеют атрибута value . Значение a <select> определяется содержимым <option> s, которое имеет selected атрибут . Это одно упражнение для читателя. Подсказка: вам нужно выполнить итерацию по <select> ' <option> s и условно добавить selected атрибут к одному или нескольким параметрам <option> .