Георгий Скарбовский
80 повідомлень
#16 років тому
Подскажите, пожалуйста, как на аяксе всем элементам с одинаковым атрибутом name передать определенное значение?
Что то типа

<?php
if ($submit){
echo $artist;
}
else{
?>
<form action="<? echo $PHP_SELF;?>" method="post">
<input type="text" name="artist" onChange="document.getElementsByName('artist').value=''+this.value+''">
<input type="text" name="artist">
<input type="submit" name="submit" value="GO!">
<?
}
?>
Лев П.
249 повідомлень
#16 років тому
GetElementById
Георгий Скарбовский
80 повідомлень
#16 років тому
Ни так ни так не работает... подскажите плиз..
Кирилл Филиппов
60 повідомлень
#16 років тому
Что заказ выполнить не можешь ?
Георгий Скарбовский
80 повідомлень
#16 років тому
Да нет.. тренеруюсь для себя) Вот задачка интересная попалась.. вот с этой загвоздкой пол для уже маюсь)
Максим В.
731 повідомлення
#16 років тому
Через коллекции элементов попробуйте.
Оффтопик
А чем обусловлено использование одного имени?
Георгий Скарбовский
80 повідомлень
#16 років тому
Использованием шаблона вывода порядка 10 вариаций форм, данные из которых записываются в одну и туже БД.
Цитата ("VeMax"):
Через коллекции элементов попробуйте.


Можно поподробнее, если не затруднит?
Максим В.
731 повідомлення
#16 років тому
var forms=document.getElementById(form1').getElementsByTagName('input')
for (var i=0;i<forms.length;i++)
if (forms.id.indexOf('form1_')!=-1)


Как-то так. Можно рекурсивно обойти вообще все элементы -
Георгий Скарбовский
80 повідомлень
#16 років тому
Хм.. спасибо.
Тут М.
626 повідомлень
#16 років тому
Посмотрите в сторону jQuery - код намного меньше и понятней будет.
Валентин К.
133 повідомлення
#16 років тому
Незнаю причем тут аджакс, это обычный жаваскрипт.. и поидее сработает так:
<input type="text" name="artist" onChange="changeValue(this.value)">

а ниже, или в head такая штука.

<script>
function changeValue(someValue){
myArr = document.getElementsByName('artist');
for(i=0;i<myArr.length;i++){
myArr.value = someValue;
}
}
</script>


ЗЫ: если под аджаксом подразумевается интерактивное изменение, после нажатия каждой кнопки, то вешать надо не на onchange а на onkeypressed или onkeydown/onkeyup , т.к. onchange сработает когда инпут потеряeт фокус.
Дмитрий П.
441 повідомлення
#16 років тому
Demiurh, +1

Или Prototype:

function update_elements(el_name, new_value) {
$$('input').each(
function (el) {
el.value = new_value;
}
);
}


А зачем такое извращение, если не секрет? Как-то странно пример кода выглядит...
Георгий Скарбовский
80 повідомлень
#16 років тому
А по другому никак) вот и приходится "извращаться")
Дмитрий П.
441 повідомлення
#16 років тому
mamamiya, что за задача-то стоит? 99%, что лучше можно сделать
Георгий Скарбовский
80 повідомлень
#16 років тому
Цитата ("mamamiya"):
Использованием шаблона вывода порядка 10 вариаций форм, данные из которых записываются в одну и туже БД.

Все шаблоны должны храниться в одном файле - следовательно одна и таже переменная встречается несколько раз.. просто юзер не видит не нужного поля.
З.Ы. задача уже выполнена и вполне успешно работает)