powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Что-то не соображе со сбросом выбранных элементов
6 сообщений из 6, страница 1 из 1
Что-то не соображе со сбросом выбранных элементов
    #35867770
ььыььы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

есть страничка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<html>
<script>
function clr(){
document.forms[ 0 ].elements{'lst'].value='-1';
}
</script>

<form action=serv method=post>
<select name="lst" multiple>
<option value="-1"> 
<option selected value='10'>QQQQ
<option selected value='20'>YYYY
<option value='30'>WWWWW
</select.
<input type=text name="num">
<input type=submit name="cb1" value="Go">
<input type=button name="cb2" value="Clear" onclick="javascript:clr();">
</form>
</html>

Нужно, чтобы при клике по CB2 происходила очистка выделенных элементов в списке LST. В данный момент при щелчке по CB2 выделение ранее выбранных элементов снимается и выделяется элемент с кодом "-1".
Но при последующем нажатии на кнопку CB1 сервлету передаются ранее выбранные элементы 10 и 20
Как мне сделать очистку фильтра?
...
Рейтинг: 0 / 0
Что-то не соображе со сбросом выбранных элементов
    #35868164
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. -1 для select - это элемент не выбран. Используй другой индекс.
2. Очень странное обращение к элементу. Настаиваю на введение id и обращение через document.getElementById("select_id").
3. Для тэга <script> де-факто обязателен атрибут type (тут type="text/javascript").
4. Для описания обработчика события и так используется javascript, поэтому конструкция "javascript:" не нужна.
5. Для кроссбраузерной модели настоятельно рекомендуется брать все атрибуты в кавычки (тип для инпута, атрибуты для формы).
6. Для той же кроссбраузерности рекомендуется закрывать тэги <input/> (FF будет реагировать).
...
Рейтинг: 0 / 0
Что-то не соображе со сбросом выбранных элементов
    #35868861
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. достаточно будет поставить например вместо "-1" -> "-2"
и все должно заработать?

Кстати при первоначальном варианте отрабатывала нормально если после нажатия на кнопку сброса щелкнуть мышкой по выделенной пустой строке. В этом случае при нажатиии на кнопку GO сервлету уходил сброшенный параметр, а иначе уходили ранее выбранные. Не совсем понятно, что происходит ...

PS:
Жаль сейчас попробовать не могу (только в понедельник :(
...
Рейтинг: 0 / 0
Что-то не соображе со сбросом выбранных элементов
    #35868931
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не, работать будет, так как "-1" - это значение опции, а индекс -1 - это индекс. Просто изначально подход какой-то неправильный, что ли.
Не считая нескольких помарок (незакрытые тэги) код для большинства браузеров валидный. Дело, думаю, в обращении к элементу. Мои замечания больше не как "нужно", а как "следует" или как "принято", потому что код режет глаза :)
...
Рейтинг: 0 / 0
Что-то не соображе со сбросом выбранных элементов
    #35870646
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот попробовал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<html>
<script type="text/javascript">
function clr(){
document.forms[ 0 ].getElementById['lb'].value='-2';
}
</script>

<form action="serv" method="post">
<select name="lst" multiple>
<option value="-2"> 
<option selected value="10">QQQQ
<option selected value="20">YYYY
<option value="30">WWWWW
</select>
<input type="text" name="num">
<input type="submit" name="cb1" value="Go">
<input type="button" name="cb2" value="Clear" onclick="clr();">
</form>
</html>


Смена метода вызова на "getElementById" и смена индекса на "-2" результата не принесло, все осталось точно также. При нажатии на кнопку "Clear" ранее выбранное выделение сбрасывается и выделяется элемент с индексом "-2", но при последующем нажатии на кнопку "Go" сервлету отсылается "lst.values=10,20".
Кстати, когда после нажатия кнопки "Clear" принудительно мышкой щелкнуть по элементу с индексом "-2", то тогда при нажатии на кнопку "Go" сервлету уже уходит значение "-2". Может эту фиксацию еще надо как-то делать. Что-то в непонятках ...
...
Рейтинг: 0 / 0
Что-то не соображе со сбросом выбранных элементов
    #35872764
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да что же это такое -еще раз опечатался (все пить на сегодня хватит иду спать)
Модератор:
Все предыдущие попытки-опечатки удалены, чтобы не загромождали пространство.

---------
illion


Проблема решилась. Надо было добавить следующую строчку в функцию

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<html>
<script type="text/javascript">
function clr(){
document.getElementById['lb'].value='-2';
document.getElementById['lb'].click();
}
</script>

<form action="serv" method="post">
<select name="lst" multiple>
<option value="-2"> 
<option selected value="10">QQQQ
<option selected value="20">YYYY
<option value="30">WWWWW
</select>
<input type="text" name="num">
<input type="submit" name="cb1" value="Go">
<input type="button" name="cb2" value="Clear" onclick="clr();">
</form>
</html>

...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Что-то не соображе со сбросом выбранных элементов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]