<form method="post" name="sends">
<INPUT type=text name="text[20]" value=""
onkeypress="this.form.text[20].value=bm(20,20);"
onChange="this.form.text[20].value=bm(20,20);"
onFocus="this.form.text[20].value=bm(20,20);"
onBlur="this.form.text[20].value=bm(20,20);"
onSelect="this.form.text[20].value=bm(20,20);"
onMouseOut="this.form.text[20].value=bm(20,20);"
onMouseMove="this.form.text[20].value=bm(20,20);"
onClick="this.form.text[20].value=bm(20,20);"
>
</form><script language=JavaScript>
function bm(nzn , nomer){
zap= document.sends.text[nomer].value;
if (nzn > zap) return zap;
else {return nzn;}
}
</script>
Почему у меня это не работает ?
И не должно работать. Если хочешь достучаться до элемента формы, имеющего имя text[20], то писать нужно буквально так:this.form.elements["text[20]"].value
или так:
this.form["text[20]"].value
а такая запись:
this.form.text[20].value
означает обращение к 20-му элементу массива this.form.text, которого в природе не существует.
Рекомендую почитать http://dklab.ru/chicken/nablas/ особенно 38 и 39. Там автор достаточно доходчиво объясняет достаточно сложные вещи.
>И не должно работать. Если хочешь достучаться до элемента формы, имеющего имя
>text[20], то писать нужно буквально так:
>
>this.form.elements["text[20]"].valueСпасибо. все работает
>>И не должно работать. Если хочешь достучаться до элемента формы, имеющего имя
>>text[20], то писать нужно буквально так:
>>
>>this.form.elements["text[20]"].value
>
>Спасибо. все работаетПравильнее использовать getElementById('id элемента ');
>Правильнее использовать getElementById('id элемента ');Не сказал бы, что это правильнее. Точнее, в большинстве случаев так делать или некрасиво, или вообще невозможно.
Во-первых, метод getElementById есть только у объекта document, то есть при таком подходе приходится всегда работать с глобальным объектом, даже если текущая задача очень локальная (как в обсуждаемом примере).
Во-вторых, id может быть далеко не у каждого элемента, а принудительная их расстановка сильно загромождает код, и в общем случае это задача нетривиальная, т. к. все id находятся в глобальной области видимости и нужно следить за их уникальностью. А атрибуты name элементов формы локальны по отношению к данной форме - их использование хорошо укладывается в идеологию структурного программирования.