Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Chrome и onchange 
V
    Опции темы
PavelDAS
Дата 9.2.2015, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.11.2010

Репутация: нет
Всего: нет



Почему не работает в Chrome?
Срабатывает только один раз при загрузке страницы, больше не хочет менять.

В Opera 12.17, IE7 работает.

Код

<select id="select_my" name="surl" onchange="url.href='index2.php?studio=diafilm&type=diaf&param='+value">
<option value="1935">1935 год</option>
<option value="1936">1936 год</option>
<option value="1990">1990 год</option>
<option value="1991">1991 год</option>
<option value="1992">1992 год</option></select>
<a name="url" href="">Перейти</a>

PM MAIL   Вверх
Aliance
Дата 9.2.2015, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



1. Доступ к элементу по name это плохо.
2. Что такое value?
3. Видимо, консоль ругается на undefined variable 'value', но зачем смотреть в консоль, да?
PM MAIL WWW ICQ Skype   Вверх
PavelDAS
Дата 9.2.2015, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.11.2010

Репутация: нет
Всего: нет



Суть такая: выбираешь год и он подставляется в ссылку.

1) А как по другому?
2) Значение отсюда: 
Код

<option value="1935">

3) Опера 12 не ругается, а подставляет нормально. Что можно изменить, чтоб и Хром понял?
В Хроме один раз срабатывает, и всё.

p.s. если можно, размещу ссылку на свой сайт, где это используется.

Это сообщение отредактировал(а) PavelDAS - 9.2.2015, 16:10
PM MAIL   Вверх
Aliance
Дата 9.2.2015, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



То, что код где-то отрабатывает, не значит, что он корректный. Браузеры часто приводят за программиста код в более правильный. Но писать так - нельзя!

Цитата(PavelDAS @  9.2.2015,  17:08 Найти цитируемый пост)
 А как по другому?

Например по IDшнику, через document.getElementById('url')

Вообще нельзя в обработчике получать доступ к выбранному значению через value. Я даже не знаю почему это срабатывает. Возможно, потому что создается контекст селекта, а в него помещается свойство value, куда записывается реально выбранное значение - но это ХАК. Правильно получать доступ к выбранному значению так:
Код

select.options[select.selectedIndex].value


Итого, либо помещаем в onchange следующее:
Код

document.getElementById('url').href = 'index2.php?studio=diafilm&type=diaf&param='+this.options[this.selectedIndex].value;

При этом меняя атрибут NAME у ссылки на ID, либо делаем более универсально и создаем функцию, примерно так.

Добавлено через 6 минут и 36 секунд
Кстати, менять атрибут через nodeName.attributeName тоже не верно. хотя и работает. Для этого есть метод setAttribute.
PM MAIL WWW ICQ Skype   Вверх
PavelDAS
Дата 10.2.2015, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.11.2010

Репутация: нет
Всего: нет



Спасибо, работает.

Будем в дальнейшем так и получать значения.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.