Объясните код

Boris

Новичок
Здравствуйте!
Простите за подобные вопросы, но не могли бы Вы объяснить следующий код.
Скажите что это значит
PHP:
('text')[0]
из кода
PHP:
var obj = document.getElementsByName('text')[0];
obj.onchange=t2000;
obj.onkeyup=t2000;
obj.oncut=t2000;
obj.onpaste=t2000;
obj.oninput=t2000;
obj.onkeydown=t2000;
Опишите пожалуйста!
P.S. Я понимаю что создается объект, к которому привязывают события, но не пойму почему без [0] не работает.
И еще почему если изменить getElementsByName на getElementById тоже не работает?
 

doran7

Новичок
См. описание DOM.
Метод getElementById() не возвращает массив элементов, в отличии от метода getElementsByName(). Так как значение каждого атрибута id является (или предполагается) уникальным, getElementById() возвращает только один элемент с соответствующим атрибутом id.

Поэтому document.getElementsByName('text')[0]; - обращение к первому элементу массива через Name. Чтобы обратиться к этому элементу DOM через id, этот id должен быть задан в html-теге этого элемента. Допустим, id="mytext". Тогда обратиться к этому элементу можно будет так:
document.getElementsById('mytext');
 

Boris

Новичок
Подскажите, я динамично создаю объект:
PHP:
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:
PHP:
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+"\")'
 

doran7

Новичок
Прошу пардон. Я пас... не настолько силен в JS и DOM, чуть-чуть знаю только самое простое.
 

WMix

герр M:)ller
Партнер клуба
если textarea создан так,
PHP:
div.innerHTML = '<textarea name="arr_product_parameter[' + obj_param_div + '] id="arr-product-parameter-' + obj_param_div +'"></textarea>
то получить DOMElement можно так
PHP:
var obj = document.getElementById( 'arr-product-parameter-' + obj_param_div );
 

doran7

Новичок
Absinthe написал(а):
Тут 2 варианта: либо делегировать задачу тому, кто понимает основы JS, либо выучить основы JS.
Я, имхо, так и сделал. Ответил на тот вопрос который знал, а после, когда возник более сложный вопрос, делегировал.
 

WMix

герр M:)ller
Партнер клуба
либо место для пойска делегата было выбранно не правильно,
либо потенциальный делегат не был материально заинтересован
 

doran7

Новичок
А,...группенфюрер,... пустое,... лучше изучать основы JS...
 
Сверху