1) После обновления страницы переданный параметр сбрасывается (Для его сохранения нужно как-то испольовать сессии?)
2) И хотелось бы отправлять форму без нажатия кнопки submit, т.е. просто кликнув по пункту списка.
Подскажите, как можно это правильно реализовать?
Спустя 54 минуты, 46 секунд (10.07.2011 - 22:08) Invis1ble написал(а):
Цитата |
Для его сохранения нужно как-то испольовать сессии? |
да
Цитата |
И хотелось бы отправлять форму без нажатия кнопки submit, т.е. просто кликнув по пункту списка. |
копай в сторону javascript, а именно - тебе нужно поймать событие onclick и отправить форму с помощью метода submit()
Спустя 20 часов, 17 минут, 18 секунд (11.07.2011 - 18:26) grafnet написал(а):
Цитата (Invis1ble @ 10.07.2011 - 19:08) | ||
да |
Оказалось все очень легко. Просто регистрация сеансовой переменной.
Цитата (Invis1ble @ 10.07.2011 - 19:08) | ||
копай в сторону javascript, а именно - тебе нужно поймать событие onclick и отправить форму с помощью метода submit() |
А здесь сделал так:
<script language ="JavaScript">
<!--
function paramChange() {
num.submit();
}
-->
</script>
<form action="#" method="POST" name="num" >
<select onChange="paramChange(this.form)">
<option value="5" selected>Show 5</option>
<option value="10">Show 10</option>
<option value="25">Show 25</option>
<option value="30">Show 30</option>
</select>
</form>
Но теперь вопрос встал о том, как динамически подставлять selected в нужный пункт, в зависимости от того, какое значение в $num?
Спустя 3 минуты, 7 секунд (11.07.2011 - 18:29) Invis1ble написал(а):
grafnet
что за $num ?
что за $num ?
Спустя 1 минута, 21 секунда (11.07.2011 - 18:30) Игорь_Vasinsky написал(а):
наверн это Show 10
Спустя 1 минута, 50 секунд (11.07.2011 - 18:32) Invis1ble написал(а):
Игорь_Vasinsky
наверно, но я не вижу name у select'а
наверно, но я не вижу name у select'а
Спустя 7 минут, 7 секунд (11.07.2011 - 18:39) Invis1ble написал(а):
вообще, я так понимаю, имелось ввиду что-то типа этого:
<script language ="JavaScript">
<!--
function paramChange() {
document.form.submit();
}
-->
<form action="#" method="POST" name="form">
<select onChange="paramChange()" name="num">
<?php for ($i = 5; $i < 35; $i += 5) : ?>
<option value="<?php echo $i ?>" <?php echo isset($_POST['num']) && $_POST['num'] == $i ? 'selected' : '' ?>>Show <?php echo $i ?></option>
<?php endfor ?>
</select>
</form>
Спустя 7 минут, 48 секунд (11.07.2011 - 18:47) grafnet написал(а):
$num - это значение value в пунктах, которое используется для определения количества записей выводимых на страннице.
Спустя 6 минут, 9 секунд (11.07.2011 - 18:53) Игорь_Vasinsky написал(а):
grafnet
перед тобой пост же.
перед тобой пост же.
Спустя 9 минут, 58 секунд (11.07.2011 - 19:03) grafnet написал(а):
Да, работает так как надо, просто я без использования цикла пытался сделать.
Спустя 2 часа, 16 минут, 50 секунд (11.07.2011 - 21:20) ИНСИ написал(а):
Цитата |
Для его сохранения нужно как-то испольовать сессии? |
Не стоит. Я так понял, что данный параметр выводит определенное количество записей с БД, тогда просто используй в форме не $_POST а $_GET.
Спустя 1 день, 2 часа, 26 минут, 33 секунды (12.07.2011 - 23:46) grafnet написал(а):
Цитата (INSIDIOUS @ 11.07.2011 - 18:20) | ||
Не стоит. Я так понял, что данный параметр выводит определенное количество записей с БД, тогда просто используй в форме не $_POST а $_GET. |
А как же тот факт, что, если перейти на главную - в адресной строке параметра уже не будет, т.е. неизвестно сколько выводить записей. Так что без сессий не обойтись.
Если передать параметр через $_POST и обновить страницу - запрашиваться подтверждения на повторную отправку формы. Можно ли избавиться от этого?
Спустя 10 часов, 5 минут, 21 секунда (13.07.2011 - 09:52) ИНСИ написал(а):
Цитата |
Можно ли избавиться от этого? |
Да. В самом начале файла, перед выводом любой информации, там где ты создаешь сессию надо сделать использовать: header('Location: ');
Спустя 11 часов, 20 минут, 20 секунд (13.07.2011 - 21:12) grafnet написал(а):
Цитата (INSIDIOUS @ 13.07.2011 - 06:52) | ||
Да. В самом начале файла, перед выводом любой информации, там где ты создаешь сессию надо сделать использовать: header('Location: '); |
Но тогда появляется ошибка 310.
Спустя 31 минута, 44 секунды (13.07.2011 - 21:44) Админ написал(а):
JS тож неплохо редирект делает
Спустя 2 минуты, 23 секунды (13.07.2011 - 21:46) bulgakov написал(а):
Цитата |
JS тож неплохо редирект делает |
Но js видно
Спустя 2 минуты, 1 секунда (13.07.2011 - 21:48) Админ написал(а):
Цитата |
Но js видно |
и что в этом криминального
Спустя 23 часа, 25 минут, 29 секунд (14.07.2011 - 21:14) grafnet написал(а):
Все, во всем разобрался.