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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регистрация события для большого кол-ва элементов, С одни именем (input:text) 
:(
    Опции темы
Forza
Дата 1.12.2004, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Aliance, ok.

А не можешь ли ты показать, как зарегистрировать один обработчик события (например, onfocus) для всех input type=text в форме/документе? На основе твоего описания у меня это не получилось.
Этот обработчик должен уметь обращаться к параметрам этого текстового поля: в частности к его name.

Буду очень признателен, если мне поможешь.
PM MAIL   Вверх
Aliance
Дата 4.12.2004, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Цитата(Forza @ 1.12.2004, 21:43)
А не можешь ли ты показать, как зарегистрировать один обработчик события (например, onfocus) для всех input type=text в форме/документе?


Если применять только оф. метод - то только так:
Код

document.getElementsByTagName("input").addEventListener("focus", myFunction, true);

Но это будет работать и для чекбоксов с радиобаттонами. Нужно писать проверку для них...но я не рекомендую так запариваться 8)

ЗЫ: можно проще: document.getElementsByTagName("input").onfocus = myFunction;

Еще тебе может быть полезна такая вещь:
Код

function registerEvent(evt) {
 evt = (evt) ? evt : ((window.event) ? event : null )
 if (evt) {
   var target = (evt.target) ? evt.target : ((evt.scrElement) ? evt.srcElement : null )
   if (target && target.tagName && target.tagName.toLowerCase() == "input") {
       // обработываем, если ЕСТЬ событие, и элемент, с которого
       // это событие пришло - <input ...>
   }
 }
}


Тут же можно и обращаться к имени объекта (target && target.tagName && target.tagName.toLowerCase() == "input")
PM MAIL WWW ICQ Skype   Вверх
Aliance
Дата 4.1.2005, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Цитата(Forza @ 1.12.2004, 21:43)
Этот обработчик должен уметь обращаться к параметрам этого текстового поля: в частности к его name.

Хм...врятли...к id можно точно, к name`у не видел/пробовал.
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 5.1.2005, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Aliance @ 4.12.2004, 20:47)
ЗЫ: можно проще: document.getElementsByTagName("input").onfocus = myFunction;

Aliance проверяй свой код smile
Выборка даст список нод, у которого ты создаш новое свойство. Теперь имеем интерсный список, а ноды в нём содержащиеся остаются без изменений smile

Forza открывай новый топик. Если хочешь зарегистрироватьобработчика события(сделать что угодно) для всех инпутов на странице, тогда выбери их: document.getElementsByTagName("INPUT"), затем пробегись циклом.
Иначе обращайся к формам: document.forms.твоя_форма.elements - тоже пробегаемся циклом.
Выбрать любой атрибут включая name можно через node.getAttribute("name"), хотя согласно DOM1 html элементы имеют свой расширенный интерфейс, например инпуты имеют свойство name: alert(инпут.name);

Еще раз повторю: Forza открывай новый топик smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Иль
Дата 21.4.2005, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

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



Цитата(Sardar @ 21.10.2004, 22:30)
span_tag.onmyevent=new Function("event", myev); //создаем функцию

Явное создание объекта типа function здесь видимо необходимо, да? Чтоб висело постоянно?


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Sardar
Дата 23.4.2005, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



После разделения темы ответ перекочевал сюда: http://forum.vingrad.ru/index.php?showtopic=49609


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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