2012-04-29 4 views
0

У меня есть php-форма, которая передает данные другому php для проверки. если какие-либо поля остаются пустыми, валидатор php отправляет сообщение обратно в исходную форму php вместе со всеми предварительно заполненными переменными, используя переменные сеанса, чтобы пользователь не должен был заполнять их снова.выберите выпадающее значение на основе переменной сеанса

я могу использовать эти переменные сессии, чтобы заполнить текстовые поля снова, как этот

value="<?php echo $_SESSION['fname'] ?>" 

но как идти о заселении падение падения, радио-кнопки и флажки?

благодаря

+0

Как и элемент INPUT типа TEXT, вы идете со всеми другими элементами INPUT. – SteAp

+0

выпадающая ячейка выбрала опцию без опции ввода – ABI

ответ

1

<select> элемента выбранного <option> не определяется это value= атрибут. Для того, чтобы отметить опцию выбранной, то <option> элемент должен иметь атрибут selected, установленный на нем, как показано ниже:

<select> 
    <option>1</option> 
    <option selected>2</option> 
    <option>3</option> 
</select> 

Для того, чтобы сделать это программно, вам нужно перебирать варианты, и вручную проверить для правильный вариант и добавьте selected.

4

Для выбора, флажка или радиостанции вам нужно будет проверить, соответствуют ли значения. Что-то вроде:

<select name="fname"> 
<option value="1" <?php if($_SESSION['fname'] == 1) echo 'selected'; ?>>1</option> 
<option value="2" <?php if($_SESSION['fname'] == 2) echo 'selected'; ?>>2</option> 
</select> 

Это проще, если вы перебор значений для поля опции:

<select name="fname"> 
<?php foreach($array AS $key => $value) { ?> 
    <option value="<?php echo $value; ?>" <?php if($_SESSION['fname'] == $value) echo 'selected'; ?>><?php echo $value; ?></option> 
<?php } ?> 
</select> 
+0

не может заставить ее работать, «2» всегда выбирается при перезагрузке страницы – ABI

1

Существует гораздо более простой метод с использованием JQuery. Вы можете установить SELECTS с помощью .val(), чтобы максимально использовать его.

<script type="text/javascript"> 
$("#fname").val("<?php echo $_SESSION['fname']"; ?>); 
</script> 

Не забудьте установить идентификатор выбора, а также имя для имя_файла

0

... Замечено, что ваша двойная кавычка в конце заявления неуместно, оно должно be:

<script> 
    $("#fname").val("<?php echo $_SESSION['fname'] ?>"); 
</script> 
Смежные вопросы