Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2013, 18:48
Аспирант
Отправить личное сообщение для bgraf Посмотреть профиль Найти все сообщения от bgraf
 
Регистрация: 16.04.2013
Сообщений: 35

Объясните код
Здравствуйте!
Простите за подобные вопросы, но не могли бы Вы объяснить следующий код. Его я взял ища в нете вот ссылка клик
Скажите что это значит
('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 тоже не работает?

Последний раз редактировалось bgraf, 10.07.2013 в 19:09.
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2013, 19:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

document.getElementsByName('text')[0] - первый элемент имеющий name="text"
Далее на все события, связанные с изменением значения поля навешан обработчик-функция t2000
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2013, 19:17
Аспирант
Отправить личное сообщение для bgraf Посмотреть профиль Найти все сообщения от bgraf
 
Регистрация: 16.04.2013
Сообщений: 35

Спасибо!
А почему без [0] не работает.
И еще почему если изменить getElementsByName на getElementsById тоже не работает?
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2013, 19:29
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

потому что getElementsById - это поиск по id. и не getElementsById, а getElementById
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2013, 19:37
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А еще не работает если заменить на getElementsByTagName или getElementsByClassName и даже если заменить на мамаМылаРаму то тоже не работает! Вот разработчики придурки. Сколько багов сразу, и не могли пофиксить...
Ответить с цитированием
  #6 (permalink)  
Старый 10.07.2013, 19:39
Аспирант
Отправить личное сообщение для bgraf Посмотреть профиль Найти все сообщения от bgraf
 
Регистрация: 16.04.2013
Сообщений: 35

Сообщение от skrudjmakdak Посмотреть сообщение
потому что getElementsById - это поиск по id. и не getElementsById, а getElementById
Спасибо!
Что такое getElementById я знаю, вот и вопрос почему если переделать код с getElementById, то он не работает?
Ответить с цитированием
  #7 (permalink)  
Старый 10.07.2013, 19:41
Аспирант
Отправить личное сообщение для bgraf Посмотреть профиль Найти все сообщения от bgraf
 
Регистрация: 16.04.2013
Сообщений: 35

Сообщение от danik.js Посмотреть сообщение
А еще не работает если заменить на getElementsByTagName или getElementsByClassName и даже если заменить на мамаМылаРаму то тоже не работает! Вот разработчики придурки. Сколько багов сразу, и не могли пофиксить...
Да Вы так не волнуйтесь
И все таки объясните:
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+"\")'

Последний раз редактировалось bgraf, 10.07.2013 в 19:55.
Ответить с цитированием
  #8 (permalink)  
Старый 10.07.2013, 20:20
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Цитата:
И все таки объясните:
1) почему без [0] не работает?
2)почему если изменить getElementsByName на getElementById тоже не работает?
потому что волшебство
программисты создают не программы, а волшебные заклинания
все должно быть точно
Ответить с цитированием
  #9 (permalink)  
Старый 11.07.2013, 00:33
Интересующийся
Отправить личное сообщение для Серджио Посмотреть профиль Найти все сообщения от Серджио
 
Регистрация: 05.10.2012
Сообщений: 17

Отобрать элемент в переменную и подключить обработчики событий
Ответить с цитированием
  #10 (permalink)  
Старый 11.07.2013, 00:51
Интересующийся
Отправить личное сообщение для Серджио Посмотреть профиль Найти все сообщения от Серджио
 
Регистрация: 05.10.2012
Сообщений: 17

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
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно улучшить такой код? Reiter Общие вопросы Javascript 0 06.11.2012 16:19
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50
Получить код js-скрипта, находящегося в файле на сервере RomanA Общие вопросы Javascript 4 04.04.2012 09:53
Объясните код плиз! unlike777 Общие вопросы Javascript 15 03.05.2011 22:46
Объясните код! Макс Общие вопросы Javascript 1 19.07.2008 23:24