<select name = 'test' OnChange="top.location.href = this.options[this.selectedIndex].value;">
<option value='index.php?id=1'>1</option>
<option value='index.php?id=2'>2</option>
<option value='index.php?id=3'>3</option>
<option value='index.php?id=4'>4</option>
<select>
в общем при выборе значения из списка и перехода на требуемую страницу, хотелось бы, чтобы выбранное значение получало атрибут selected, т.е. было выбрано в новой странице.
Спустя 4 минуты, 6 секунд (22.08.2011 - 16:14) T1grOK написал(а):
<option value='index.php?id=1' <?php if($_POST['test']=1) echo selected?>>1</option>
В общем идея такая.
Спустя 1 минута, 32 секунды (22.08.2011 - 16:15) inpost написал(а):
ну проверяй значение.
<?php if($_POST['test'] == 'index.php?id=1') echo 'selected'; ?> - это для первого option, и так далее.
Хотя неправильно передавать эту строчку: index.php?id=1 , достаточно просто цифру 1. А нужные операции внутри скрипта.
<?php if($_POST['test'] == 'index.php?id=1') echo 'selected'; ?> - это для первого option, и так далее.
Хотя неправильно передавать эту строчку: index.php?id=1 , достаточно просто цифру 1. А нужные операции внутри скрипта.
Спустя 8 минут, 30 секунд (22.08.2011 - 16:24) Гость_Иван написал(а):
ну вот так я и писал, видимо не туда прелепил, щас проверим, спасибо )
Спустя 1 минута, 48 секунд (22.08.2011 - 16:26) Diss написал(а):
мб тогда уж
<?php if((int)$_GET['id']==1) echo selected?>
?)
<?php if((int)$_GET['id']==1) echo selected?>
?)
Спустя 1 минута, 11 секунд (22.08.2011 - 16:27) Гость_Иван написал(а):
ну там уже можно разобраться что проверять
Спустя 2 минуты, 9 секунд (22.08.2011 - 16:29) Гость_Иван написал(а):
Цитата (inpost @ 22.08.2011 - 13:15) |
ну проверяй значение. <?php if($_POST['test'] == 'index.php?id=1') echo 'selected'; ?> - это для первого option, и так далее. Хотя неправильно передавать эту строчку: index.php?id=1 , достаточно просто цифру 1. А нужные операции внутри скрипта. |
И кстати $_POST[test] вернет же только цифру, а не всю строку значения value
Спустя 6 минут, 15 секунд (22.08.2011 - 16:35) inpost написал(а):
Diss
Форма может отправлять данные POST, я в 95% случаев использую именно POST, только для поиска - GET.
Форма может отправлять данные POST, я в 95% случаев использую именно POST, только для поиска - GET.
Спустя 58 секунд (22.08.2011 - 16:36) inpost написал(а):
Гость_Иван
А ты изучи сначала свой движок. Он передаёт именно то, как я показал, либо POST, либо GET, в зависимости от method формы. А вот что скрипт там внутри делает, может быть даже редирект.
А ты изучи сначала свой движок. Он передаёт именно то, как я показал, либо POST, либо GET, в зависимости от method формы. А вот что скрипт там внутри делает, может быть даже редирект.
Спустя 8 минут, 44 секунды (22.08.2011 - 16:45) Diss написал(а):
если честно код какой-то мутный и редирект сделан через это самое место...
если уж начали писать js, то продолжайте им и писать, в нем же делайте редирект и в нем же проверяйте и в нем же добавляете атребут селектед
так будет по человечески...
если уж начали писать js, то продолжайте им и писать, в нем же делайте редирект и в нем же проверяйте и в нем же добавляете атребут селектед
так будет по человечески...
Цитата |
OnChange="top.location.href = this.options[this.selectedIndex].value; |
такая запись давно уже не модна.
да я понял уже что ошибся, там ведь в гет можно что угодно написать
я не тестил... но такой вопрос, я так понимаю это OnChange="top.location.href = this.options[this.selectedIndex].value; - редирект при смене атребута
А будет ли в таком случае отправляться форма и меняться пост параметр? или это тупо редирект и никакой пост формы нет и в помине?
Вощем в любом случае по хорошему писать надо через js
да я понял уже что ошибся, там ведь в гет можно что угодно написать
я не тестил... но такой вопрос, я так понимаю это OnChange="top.location.href = this.options[this.selectedIndex].value; - редирект при смене атребута
А будет ли в таком случае отправляться форма и меняться пост параметр? или это тупо редирект и никакой пост формы нет и в помине?
Вощем в любом случае по хорошему писать надо через js
Спустя 1 минута, 23 секунды (22.08.2011 - 16:46) inpost написал(а):
Diss
Что в твоём понимании f5 ? Пост отправляет данные, данные обрабатываются в скрипте-обработчике(который получил POST!!!), потом внутри делается редирект уже на нужную страницу, на которой f5 не приносит никакого вреда.
Что в твоём понимании f5 ? Пост отправляет данные, данные обрабатываются в скрипте-обработчике(который получил POST!!!), потом внутри делается редирект уже на нужную страницу, на которой f5 не приносит никакого вреда.
Спустя 3 минуты, 3 секунды (22.08.2011 - 16:49) Diss написал(а):
я подредактировал сообщение... предыдущее... там как я понимаю при селекте идет редерет, а будет ли при нем отправка пост формы?
Спустя 1 минута, 30 секунд (22.08.2011 - 16:51) Гость_Иван написал(а):
Ну приведи мне пример "модной" js записи, может заодно и дальше мысль закончишь с selected ))
Спустя 2 минуты, 57 секунд (22.08.2011 - 16:54) Гость_Иван написал(а):
POST форма есть, но тут она не при чем, смысл в том чтобы после редиректа оставался выбранным пункт option на который мы нажали
Спустя 6 минут, 40 секунд (22.08.2011 - 17:00) Diss написал(а):
надо подумать и потестить
но в целом как-то так
(писал на коленке, поэтому ногами за ошибки не пинать)
но в целом как-то так
$(document).ready(function()
{
switch (document.location.href)
{
case '..index.php?id=1':
$(this).attr('selected':'selected')
break;
//---- тут остальные значения----
})
$(:select).change(functuion ({
document.location.href = $(this).attr('href').val();
});
});
(писал на коленке, поэтому ногами за ошибки не пинать)
Цитата |
POST форма есть, но тут она не при чем |
ну как бы и я о том же, что при таком редиректе пост форма отправляться не будет, а значит значение
$_POST['test'] не определено (скорее всего, я не тестил извините)
так ошибся =( щас исправлю код
вроде подправил... а то совсем не то написал изначально
$_POST['test'] не определено (скорее всего, я не тестил извините)
так ошибся =( щас исправлю код
вроде подправил... а то совсем не то написал изначально
Спустя 13 минут (22.08.2011 - 17:13) inpost написал(а):
Гость_Иван
На основной вопрос ответ ты уже получил...
На основной вопрос ответ ты уже получил...
Спустя 45 минут, 53 секунды (22.08.2011 - 17:59) Diss написал(а):
вощем код будет такой.
правда option'ам я дал еще айди x1 x2 x3 x4 соотвественно, можно и без них, но сейчас уже лень переделывать, если хочешь, устрой выборку по другому критерию.
и селекту id sel
(долго тупил с тем, что написал селекту id = sel а в js написал $('#sell') и сидел не мог понять, почему же не работает :D :D
$(document).ready(function()
{
var href = document.location.href;
switch(href)
{
case 'http://localhost/index.php?id=1':
$('#x1').attr("selected", "selected");
break;
case 'http://localhost/index.php?id=2':
$('#x2').attr("selected", "selected");
break;
case 'http://localhost/index.php?id=3':
$('#x3').attr("selected", "selected");
break;
case 'http://localhost/index.php?id=4':
$('#x4').attr("selected", "selected");
break;
default:
$('#x1').attr("selected", "selected");
break;
};
$('#sel').change(function (){
document.location.href = $(this).attr('value');
});
});
правда option'ам я дал еще айди x1 x2 x3 x4 соотвественно, можно и без них, но сейчас уже лень переделывать, если хочешь, устрой выборку по другому критерию.
и селекту id sel
(долго тупил с тем, что написал селекту id = sel а в js написал $('#sell') и сидел не мог понять, почему же не работает :D :D
Спустя 18 минут, 53 секунды (22.08.2011 - 18:18) inpost написал(а):
Diss
Плохой,увы, код. А если у тебя будет 100 опшионов, тебе прийдется 100 раз дублировать? Это неправильно.
Плохой,увы, код. А если у тебя будет 100 опшионов, тебе прийдется 100 раз дублировать? Это неправильно.
Спустя 5 минут, 32 секунды (22.08.2011 - 18:24) Diss написал(а):
ну для 4 так норм, я просто тестил с ifом из него до кейса удобней было размножить, чем до цикла
ну а по хорошему да, выборку надо ставить по значению атрибута
плюс в цикле определять url
щас ради интереса надо будет сделать...
ну а по хорошему да, выборку надо ставить по значению атрибута
плюс в цикле определять url
щас ради интереса надо будет сделать...
Спустя 3 минуты, 1 секунда (22.08.2011 - 18:27) inpost написал(а):
Diss
Тебе лишь надо получить идентификатор ID через регулярку, и 1 действие сделать. Без всяких свичей, код на 3 строчки.
Тебе лишь надо получить идентификатор ID через регулярку, и 1 действие сделать. Без всяких свичей, код на 3 строчки.
Спустя 3 минуты, 59 секунд (22.08.2011 - 18:31) Diss написал(а):
наверное как-то вот так
или не верно?
var href = document.location.href;
var value = 'http://localhost/index.php?id=';
var id = href.substring(value.length);
$(('#x'+id)).attr("selected", "selected");
или не верно?
Спустя 33 минуты, 38 секунд (22.08.2011 - 19:04) Diss написал(а):
по идее, это значение id надо получать ajax запросом, потому что кто его знает, что еще надо будет напихать в адресную строку
хотя может ошибаюсь...
хотя может ошибаюсь...
Спустя 4 минуты, 29 секунд (22.08.2011 - 19:09) inpost написал(а):
Diss
А если запись такого вида? id=7&val=12 ?
А если запись такого вида? id=7&val=12 ?
Спустя 6 минут, 2 секунды (22.08.2011 - 19:15) Diss написал(а):
А если запись такого вида? id=7&val=12 ?подскажите решение? мне в голову приходит только ajax запрос.
Спустя 1 час, 9 минут, 52 секунды (22.08.2011 - 20:25) inpost написал(а):
Это решение делается на php, в первом сообщении я показал, как правильно
Если уж так сильно на JS хочется, то тут надо разбивать по символу & и = на массив, оттуда доставать только $_GET['id'];
Если уж так сильно на JS хочется, то тут надо разбивать по символу & и = на массив, оттуда доставать только $_GET['id'];
Спустя 8 минут, 13 секунд (22.08.2011 - 20:33) Гость_Иван написал(а):
так а вроде разговор был, что POST не имеет отношения к этой части кода. Поэтому $_POST['test'] проверяй - не проверяй, а толку не будет.
Спустя 15 минут, 48 секунд (22.08.2011 - 20:49) Diss написал(а):
Цитата |
Это решение делается на php, в первом сообщении я показал, как правильно smile.gif |
оно не будет считывать пост параметр
при редиректе который там сделан нет возможности считывать пост параметр
если уж писать на пхп тогда уж считывать гет параметр, и как писал я...