почему не работает, mishgan, 08-Июн-06, 18:47 [смотреть все]<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> Почему у меня это не работает ? |
- почему не работает, XAnder, 08:42 , 09-Июн-06 (1)
И не должно работать. Если хочешь достучаться до элемента формы, имеющего имя 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. Там автор достаточно доходчиво объясняет достаточно сложные вещи.
- почему не работает, mishgan, 18:17 , 09-Июн-06 (2)
>И не должно работать. Если хочешь достучаться до элемента формы, имеющего имя >text[20], то писать нужно буквально так: > >this.form.elements["text[20]"].value Спасибо. все работает
- почему не работает, SoD, 23:45 , 09-Июн-06 (3)
>>И не должно работать. Если хочешь достучаться до элемента формы, имеющего имя >>text[20], то писать нужно буквально так: >> >>this.form.elements["text[20]"].value > >Спасибо. все работает Правильнее использовать getElementById('id элемента ');
- почему не работает, XAnder, 08:37 , 13-Июн-06 (4)
>Правильнее использовать getElementById('id элемента '); Не сказал бы, что это правильнее. Точнее, в большинстве случаев так делать или некрасиво, или вообще невозможно. Во-первых, метод getElementById есть только у объекта document, то есть при таком подходе приходится всегда работать с глобальным объектом, даже если текущая задача очень локальная (как в обсуждаемом примере). Во-вторых, id может быть далеко не у каждого элемента, а принудительная их расстановка сильно загромождает код, и в общем случае это задача нетривиальная, т. к. все id находятся в глобальной области видимости и нужно следить за их уникальностью. А атрибуты name элементов формы локальны по отношению к данной форме - их использование хорошо укладывается в идеологию структурного программирования.
|