По-умолчанию, когда мы заполняем HTML форму и нажимаем кнопку Отправить (или как там будет написано), которая совершает действие, после перезагрузки страницы мы попадаем снова на эту форму, но выбранных значений уже нет… Как же их сохранить? Просто. Поможет javascript.Например у нас имеется следующая форма:
<select name="sel1" id="sel1"> <option value="a">a</option> <option value="b">b</option> </select> <select name="sel2" id="sel2"> <option value="c">c</option> <option value="d">d</option> </select> <select name="sel3" id="sel3"> <option value="c">c</option> <option value="d">d</option> </select>
К каждому блоку select необходимо сделать небольшое дополнение, чтобы получить то, что нам нужно. В итоге код будет выглядеть так:
<select name="sel1" id="sel1"> <option value="a">a</option> <option value="b">b</option> </select> <script type="text/javascript"> document.getElementById('sel1').value = "<?php echo $_GET['sel1'];?>"; </script> <select name="sel2" id="sel2"> <option value="c">c</option> <option value="d">d</option> </select> <script type="text/javascript"> document.getElementById('sel2').value = "<?php echo $_GET['sel2'];?>"; </script> <select name="sel3" id="sel3"> <option value="c">c</option> <option value="d">d</option> </select> <script type="text/javascript"> document.getElementById('sel3').value = "<?php echo $_GET['sel3'];?>"; </script>
Что мы сделали? Мы просто смотрим скриптом, что было передано через GET на эту нашу страницу, в соответствии с аргументом name и подставляем это значение в value. Если данные были переданы с помощью POST запроса – просто в коде меняем GET на POST.