Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: передача переменных
 
 автор: webzz   (26.10.2006 в 20:10)   письмо автору
 
 

как заставить яваскрипт определять нужный document.getElementById('uid').value если, на странице выводиться большое количество <input name="number" id="uid" value="0" class="form" size="8" type="text"> ?

   
 
 автор: 12345   (26.10.2006 в 20:13)   письмо автору
 
   для: webzz   (26.10.2006 в 20:10)
 

Никак, написать просто по правилам - уникальные id .

   
 
 автор: coloboc66   (26.10.2006 в 20:14)   письмо автору
 
   для: webzz   (26.10.2006 в 20:10)
 

Все id должны быть уникальными, т.е. они не должны повторяться.

   
 
 автор: webzz   (26.10.2006 в 20:20)   письмо автору
 
   для: coloboc66   (26.10.2006 в 20:14)
 

не выходит...

вот что выводиться на странице:

<form name='0' method='post' onsubmit='card();return false;'>
<input type='hidden' id='uid' name='uid' value='0'> 
<tr class='sTR0'>
     <td align='left'>0-0066601-1</td>
     <td></td>
     <td></td>
     <td>По запросу</td>
     <td>3-5 недель</td>
     <td><input name='number' id='a0' value='0' class='form' type='text' size='8' ></td>
     <td><input src='/templates/Default/images/trash.jpg'  name='name' id='n0' value='40769'  alt='Добавить в заказ' type='image'></td>
    </tr>
    <tr bgcolor='#cccccc' height='2'>
     <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
</tr></form> 
<form name='1' method='post' onsubmit='card();return false;'>
<input type='hidden' id='uid' name='uid' value='1'> 
<tr class='sTR0'>
     <td align='left'>0-0066602-1</td>
     <td></td>
     <td></td>
     <td>По запросу</td>
     <td>3-5 недель</td>
     <td><input name='number' id='a1' value='0' class='form' type='text' size='8' ></td>
     <td><input src='/templates/Default/images/trash.jpg'  name='name' id='n1' value='40768'  alt='Добавить в заказ' type='image'></td>
    </tr>
    <tr bgcolor='#cccccc' height='2'>
     <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
</tr></form> 
<form name='2' method='post' onsubmit='card();return false;'>
<input type='hidden' id='uid' name='uid' value='2'> 
<tr class='sTR0'>
     <td align='left'>0-006664</td>
     <td></td>
     <td></td>
     <td>По запросу</td>
     <td>3-5 недель</td>
     <td><input name='number' id='a2' value='0' class='form' type='text' size='8' ></td>
     <td><input src='/templates/Default/images/trash.jpg'  name='name' id='n2' value='790'  alt='Добавить в заказ' type='image'></td>
    </tr>
    <tr bgcolor='#cccccc' height='2'>
     <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
</tr></form>



вот функция, которая обрабатывает нажатия:

function card()
{    

    var ajax = new siteajax();
  
    var uid = document.getElementById('uid').value;
    var number = document.getElementById('a'+uid).value ;
    var name = document.getElementById('n'+uid).value ;
    ajax.onShow ('');
    var varsString = "name=" + name; 
    ajax.setVar("number", number);  
    ajax.requestFile = root + "engine/ajax/basket.php";
    ajax.method = 'POST';
    ajax.element = 'basket';
    ajax.sendAJAX(varsString);
    return false; 
}



что не так...
выбирается только значения для первой <form></form>

   
 
 автор: coloboc66   (26.10.2006 в 20:27)   письмо автору
 
   для: webzz   (26.10.2006 в 20:20)
 

Да у вас здесь ajax используется, если вы заметили. Вот вы его и изучите, прежде чем такие вопросы задавать.

   
 
 автор: webzz   (26.10.2006 в 20:30)   письмо автору
 
   для: coloboc66   (26.10.2006 в 20:27)
 

да вот пытаюсь..и дело кажеться не в ajax тут..

у меня все передается хорошо о обрабатывается..фишка в том что выбирается только иды для 1 формы и все..хоть на какую кнопку нажми, все равно выбираются иды 1 формы...

   
 
 автор: coloboc66   (26.10.2006 в 20:40)   письмо автору
 
   для: webzz   (26.10.2006 в 20:30)
 

вот что выводиться на странице....- кем это выводится, интересно?! Бред какой-то...

   
 
 автор: webzz   (26.10.2006 в 20:48)   письмо автору
 
   для: coloboc66   (26.10.2006 в 20:40)
 

это если исходники просмотреть видно...выводиться скриптом..японял ошибка в чем....uid выбирается один и тот же..первый самый..подскажите как выбирать уникальный uid для каждой формы..

   
 
 автор: Lelik   (26.10.2006 в 21:01)   письмо автору
 
   для: webzz   (26.10.2006 в 20:48)
 

смотри мой поста за 26.10.2006 в 20:39
а потом с помощью цикла:

var arr = new Array();
var field_name = "";
for(i=0; i<n; i++){
   field_name = "fieldid"+i;
   arr[i] = document.forms['form_name'].field_name.value;
}


и работаем с массивом

   
 
 автор: webzz   (26.10.2006 в 21:13)   письмо автору
 
   для: Lelik   (26.10.2006 в 21:01)
 

невыходить..можно по подробней...голова забита...
можно поподробней про вычленение уникального uid и его подстановку в код выше..

   
 
 автор: Lelik   (27.10.2006 в 02:55)   письмо автору
 
   для: Lelik   (26.10.2006 в 21:01)
 

Ко всем идентификаторам uid добавь цифру, то есть вместо id="uid" -> id="uid0", id="uid1", и т. д.

var arr = new Array(); 
var field_name = ""; 
for(i=0; i<n; i++){ 
   field_name = "uid"+i; 
   arr[i] = document.forms['0'].field_name.value; 
}


и работаешь с массивом

var 1 = arr[0];
var 2 = arr[1];


где n - это количество полей с id="uid"+число;

   
 
 автор: webzz   (27.10.2006 в 17:29)   письмо автору
 
   для: Lelik   (27.10.2006 в 02:55)
 

осталось одно только...никак не могу понять..вот цикл выбирает uid..как его подставить в мой код, который приведен выше..у меня не так много знаний и опыта в javascript..подскажите до конца)

   
 
 автор: Lelik   (26.10.2006 в 20:39)   письмо автору
 
   для: coloboc66   (26.10.2006 в 20:14)
 

просто ко всем одинаковым ИД добавьте цифру
Вместо:

<div id="divid"></div>
->
<div id="divid1"></div>
<div id="divid2"></div>
<div id="divid3"></div>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования