getElementbyId и скобки [ ]

_Leonchik_

Новичок
getElementbyId и скобки [ ]

наболевшая тема, но поиск ничего путного не дал.

как при помощи getElementbyId обратится к елементу id который является масивом?
ID = 15;
<input ....... id = "name["+ID+"]" />

так: getElementbyId( 'name[' +ID + ']' ) - ругается что не является объектом

не использовать массивы нехочется и немогу, т.к. потом пхп его должен съесть.
 

Фанат

oncle terrible
Команда форума
Vital_N
если ты чего-то не понял, то надо помолчать и послушать, что другие скажут.

_Leonchik_
Как решать эту задачу на строне яваскрипта я не знаю, но скобки для пхп совсем не обязательны.
вполне достаточно имени поля вида name1
в пхп скрипте перебрать массив POST и найти все цифры не составит труда.
 

Vital_N

Новичок
Фанат
ты хочешь сказать, что id элемента имеет какое-то отношение к php?
_Leonchik_
name и id элемента могут быть разные, ты при создании вполне можешь указать для элемента name="name[]" id="name_1"
 

_Leonchik_

Новичок
есть галерея, кликая на гиф, я его активирую/деактивирую(border = 1/0) и в хиден поле заношу 1/0 для этого гифа. и так с остальными.

в пхп я ловлю эти хиден значения, т.к. к гифу из пхп никак, дабы узнать его свойства.
ловлю сам массива, и пройдя по нему, я выдираю только те кот. равны 1 (true).
Если др. варианты - это было бы здорово. но ничего др. в голову не приходит.

-~{}~ 26.10.06 13:23:

и вот тут я обращась к хиден полю через getElementbyId. или даже через forma.name.value - теже веники.
 

Vital_N

Новичок
_Leonchik_
у тебя гифы имеют какие-нибудь идентификаторы? id напрмер?
 

_Leonchik_

Новичок
да. конечно.
У гифа есть сылка, и его ID из бызы.
мне его и надо в пхп узнать, какой выделенный.

-~{}~ 26.10.06 13:28:

кроме как юзать хиден поля - никак?

-~{}~ 26.10.06 13:30:

или например я выделил много гифов, тоже надо быдет сделать: снять пометку у всех по клику на буттоне, таже надо будет пройди по всем элементам формы, и собственно их заюзать.
и снова будут теже грабли......
 

Vital_N

Новичок
_Leonchik_
почему бы тебе на клиенте не иметь некий массив с идшниками гифов и их статусом 1/0
затем при сабмите сджойнить это все а одно хидден поле типа
ID~Status|ID-status т.е напрмер 11~0|10~1 и тд - на серваке распарсишь его и все
 

_Leonchik_

Новичок
вариант, но надо будет его парсить в скрипте локально на снятие пометок и т.д.
не очень удобно. и это еще надо делать.

Почему если я даю имена в виде массива - броузер не ругается, к когда надо обратится к нему - он так тупит?
 

Vital_N

Новичок
_Leonchik_
зачем тебе его парсить - если на клиенте у тебя будет массив а превращается он в строку только когда уходят данные на сервак?
 

_Leonchik_

Новичок
да, да. я не сразу вкурил в это.

Но всеже, как обратится к такому элементу? eval поможет, если я в него это дело засуну, а в getElementbyId уже полученное от ЕВАЛа значениу суну?

var NAME_ID = eval( 'name[' + ID + ']' );
getElementbyId (NAME_ID).value = 1 or 0;

так же должно работать? щас проверю!
 

Vital_N

Новичок
_Leonchik_
да не нужно тебе этого - дай им нормальные ид если тебе надо
но через массив на клиенте проще будет и удобнее
 

akxxiv

Новичок
При
<input ....... id = "name[15]" />,

ID = 15;
getElementbyId( 'name[' +ID + ']' ) Вполне работает.
 

MiRacLe

просто Чудо
Код:
<input id="name[1]" type="text" value="" style="width: 100%">
<input id="name[2]" type="text" value="" style="width: 100%">
<input id="name[3]" type="text" value="" style="width: 100%">
<input id="name[4]" type="text" value="" style="width: 100%">
<input id="name[5]" type="text" value="" style="width: 100%">

<script language="JavaScript">
    for (var id = 1; id <=5; id++) {
        document.getElementById('name[' + id + ']').value = 'document.getElementById(\'name[\' +' + id + ' + \']\'';
    }
</script>
-~{}~ 26.10.06 14:10:

hint:
alert(typeof getElementById);
alert(typeof document.getElementById);
 

_Leonchik_

Новичок
проблема решилась сама собой.
ID я дал имя без массива, а name - массив, кот. и будет кушать пхп.
Сразу заморозился на этом массиве для ID

Сэнкс за посты. щас просмотрю их. вижу кто-то вроде как достучался к ID если он как массив.

топик можно закрывать.
 
Сверху