Хранить данные в форме html после отправки формы

Я пытался сохранить входные данные в поле формы html после отправки. поэтому, я использовал как

<input type="text" name="myField" value="<?php echo isset($_POST['myField']) ? $_POST['myField'] : 'column_name' ?>" /> 

его работа хорошо, если тип ввода – text . он не работает с <textarea> и <select> .

Related of "Хранить данные в форме html после отправки формы"

Для текстового поля:

 <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> .