Передать переменную и по её значению сделать выбор из selecta
Здравствуйте уважаемые.
Передо мной стоит такая задача 1. Отправить переменную на другую страничку делаю так: <html> <head> <title> Отправка данных </title> </head> <body> <form action="target.php"> <button value="11111010101" name="hidden" type="submit"> Отправить форму</button></p> </form> </body> </html> 2. Поймать переменную на другой страничке, и в зависимости от её значения сделать выбор из select Как то так: ... $name=$_POST['hidden']; <select size="1" name="rooms" <option>1</option> <option>2</option> <option>3</option> </select> <script> var select = document.getElementsByTagName('select') [0]; select.addEventListener('change', function() { <-- значение переменной-> }); </script> ... Подскажите как правильно плиз. |
ну ты можешь при выводе option у твоего select проверять value с переданной переменной и если совпадает, то ставить selected
|
Я не просил готового решения.
Мне нужен был, только совет как обработать переданное значение и открыть страницу Тем более что большая часть уже сделана :yes: |
вариант..
1)запиши в куки по клику 2)переход на другую страницу location.href="другая страница" 3)на другой считал куки и выставил селект |
Спасибо. Попробую.
|
<?php // этоо файл target.php $sel = filter_input(INPUT_GET, 'hidden', FILTER_VALIDATE_INT); if(!sel) $sel = 0; ?> <!DOCTYPE HTML> <html> <head></head> <body> <form action="target.php"> <button value="1" name="hidden" type="submit">Отправить форму</button> </form> <select size="1" name="rooms"> <option>1</option> <option>2</option> <option>3</option> </select> <script> window.onload = function () { var ops = document.querySelectorAll("select[name=rooms]>option"); var sel = <?php echo $sel;?>; if(sel < ops.length) ops[sel].selected = true; }; </script> </body> </html> |
Вариант не плохой. Спасибо. Но похоже что он решает обратную задачу.
Тем не мене эта функция <script> window.onload = function () { var ops = document.querySelectorAll("select[name=rooms]>option"); var sel = <?php echo $sel;?>; if(sel < ops.length) ops[sel].selected = true; }; </script> то что я искал. |
В общем сделал так:
Файл с кнопкой. Кнопок там таких 3 =============== <meta charset="windows-1251"> <form method="post" action="target.php"> <input type="hidden" name="name1" value="1"> <input type=submit value="Отправить"> </form> ================ Файл target.php ================ <? $sel=$_POST['name1']; if(!sel) $sel = 0; echo $name; ?> <select size="1" name="rooms"> <option>1</option> <option>2</option> <option>3</option> </select> <script> window.onload = function () { var ops = document.querySelectorAll("select[name=rooms]>option"); var sel = <?php echo $sel;?>; if(sel < ops.length) ops[sel].selected = true; }; </script> Ещё раз спасибо всем кто помогал. Тема закрыта. |
так нельзя
$sel=$_POST['name1']; if(!sel) $sel = 0; все данные полученные от клиента нужно фильтровать $sel = (int)$_POST['name1']; |
То же верно.
|
Часовой пояс GMT +3, время: 13:54. |