если имя элемента массива

 
0
 
JavaScript
ava
markus_smile | 01.08.2007, 10:32
Привет всем!

Помогите народ.

есть автоматически генерируемый список элементов "чекбокс", имя каждого элемента содержится в массиве

<input type="checkbox" name="key[]" id="key[]" />

как получить доступ к каждому элементу?

Comments (5)
ava
dXdYdZ | 01.08.2007, 18:10 #
Для получения дос

//Массив элементов:
var element=[];
for(var n in key) element[n]=document.getElementById(key[n]);

А вообще Вам, наверное, надо сюда:
http://starcat.dp.ua/doc/wdh/contents.htm
ava
markus_smile | 02.08.2007, 07:28 #
Цитата (dXdYdZ @ 1.8.2007, 16:10)
Для получения дос



//Массив элементов:

var element=[];

for(var n in key) element[n]=document.getElementById(key[n]);



А вообще Вам, наверное, надо сюда:

http://starcat.dp.ua/doc/wdh/contents.htm

Спасибо конечно большое, только основная задача заключается в том чтобы получить доступ к массиву key.


код типа:



document.getElementById(Key);



здесь неработает, втом и проблема
ava
dXdYdZ | 02.08.2007, 14:00 #
То есть надо просто поместить идентификаторы всех checkbox-в на странице в массив key?
Если да, то посмотрите мой ответ в http://forum.vingrad.ru/forum/topic-165746.html
ava
markus_smile | 02.08.2007, 16:27 #
Цитата (dXdYdZ @ 2.8.2007, 12:00)
То есть надо просто поместить идентификаторы всех checkbox-в на странице в массив key?

Если да, то посмотрите мой ответ в http://forum.vingrad.ru/forum/topic-165746.html

нет. смысл в том что имя чекбокса, уже в массиве

<input type="checkbox" name="key[]">

при передаче формы в php скрипт, в POST будут записаны все значения выбраных чекбоксов

$_POST['key'] = массив значений отмеченых элементов

т.е $_POST['key'][0] = 'значение value'; // соответствует первому элементу

Вопрос только как в JavaScript добраться до этого массива, возможно ли это вообще?
ava
dXdYdZ | 02.08.2007, 19:09 #
То есть надо получить ассоциативный массив, соответствующий отмеченным элементам, где в качестве ключа используется имя checkbox-а, а в качестве значения - его value?
Если да, то вот я Вам написал

<html>
<body>
<input type="checkbox" name="n1" value="v1"/>
<input type="checkbox" name="n2" value="v2"/>
<input type="checkbox" name="n3" value="v3"/>
<button onclick="fc()"/>Искать</button>
</body>
<script>
var post;
fc=function()
{
post=[];
var cb=document.body.getElementsByTagName("INPUT");
for(var n in cb)
if(cb[n].type=="checkbox")
if(cb[n].checked)
post[cb[n].name]=cb[n].value;
//Проверка содержимого массива (в реальном скрипте не нужна):
for(var n in post) alert(n+": "+post[n]);
}
</script>
</html>

Это пример. post-ассоциативный массив со значениями.
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit