Объясните код
Здравствуйте!
Простите за подобные вопросы, но не могли бы Вы объяснить следующий код. Его я взял ища в нете вот ссылка клик Скажите что это значит ('text')[0] из кода var obj = document.getElemenstByName('text')[0]; obj.onchange=t2000; obj.onkeyup=t2000; obj.oncut=t2000; obj.onpaste=t2000; obj.oninput=t2000; obj.onkeydown=t2000; Опишите пожалуйста! P.S. Я понимаю что создается объект, к которому привязывают события, но не пойму почему без [0] не работает. И еще почему если изменить getElementsByName на getElementsById тоже не работает? |
document.getElementsByName('text')[0] - первый элемент имеющий name="text"
Далее на все события, связанные с изменением значения поля навешан обработчик-функция t2000 |
Спасибо!
А почему без [0] не работает. И еще почему если изменить getElementsByName на getElementsById тоже не работает? |
потому что getElementsById - это поиск по id. и не getElementsById, а getElementById
|
А еще не работает если заменить на getElementsByTagName или getElementsByClassName и даже если заменить на мамаМылаРаму то тоже не работает! Вот разработчики придурки. Сколько багов сразу, и не могли пофиксить...
|
Цитата:
Что такое getElementById я знаю, вот и вопрос почему если переделать код с getElementById, то он не работает? |
Цитата:
И все таки объясните: 1) почему без [0] не работает? 2)почему если изменить getElementsByName на getElementById тоже не работает? Подскажите, я динамично создаю объект: div.innerHTML = "<textarea cols=50 rows=5 maxlength='200' name='arr_product_parameter[" + obj_param_div + "]' id='arr_product_parameter[" + obj_param_div + "]' style='width:500px;border: 1px solid #a2e692; font: Arial, Verdana, Tahoma; font-size:18px; padding:0px 0px 0px 10px; outline: none;' value=\"\"></textarea> <font id=\"counter_"+obj_param_div+"\" style='font-size:14px; font-family: Arial, Verdana, Tahoma; color: #081d05; text-decoration:none; font-weight:bold;'>Введено: 0</font>"; как мне сделать что-то подобное, как в примере выше, чтобы не вписывать вот это в textarea: onkeypress='ch_length_text_area(\""+obj_param_div+"\")' onchange='ch_length_text_area(\""+obj_param_div+"\")' onkeyup='ch_length_text_area(\""+obj_param_div+"\")' oncut='ch_length_text_area(\""+obj_param_div+"\")' onpaste='ch_length_text_area(\""+obj_param_div+"\")' oninput='ch_length_text_area(\""+obj_param_div+"\")' onkeydown='ch_length_text_area(\""+obj_param_div+"\")' |
Цитата:
программисты создают не программы, а волшебные заклинания все должно быть точно :) |
Отобрать элемент в переменную и подключить обработчики событий
|
div.innerHTML = "<textarea cols=50 rows=5 maxlength='200' name='arr_product_parameter[" + obj_param_div + "]' id='arr_product_parameter[" + obj_param_div + "]' style='width:500px;border: 1px solid #a2e692; font: Arial, Verdana, Tahoma; font-size:18px; padding:0px 0px 0px 10px; outline: none;' value=\"\"></textarea> <font id=\"counter_"+obj_param_div+"\" style='font-size:14px; font-family: Arial, Verdana, Tahoma; color: #081d05; text-decoration:none; font-weight:bold;'>Введено: </font>"; var obj = document.getElemenstByName('arr_product_parameter[" + obj_param_div + "]'); obj.onkeypress='ch_length_text_area(\""+obj_param_div+"\")'; obj.onchange='ch_length_text_area(\""+obj_param_div+"\")'; obj.onkeyup='ch_length_text_area(\""+obj_param_div+"\")'; obj.oncut='ch_length_text_area(\""+obj_param_div+"\")'; obj.onpaste='ch_length_text_area(\""+obj_param_div+"\")'; obj.oninput='ch_length_text_area(\""+obj_param_div+"\")'; onkeydown='ch_length_text_area(\""+obj_param_div+"\")'; ну примерно так, можно соотвественно сделать отбор элемента отобрать по 'name' а не по id, тогда использовать getElementsByTagName |
Часовой пояс GMT +3, время: 17:27. |