Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.10.2010, 09:05
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Работа с "динамической" формой.
Добрый день, незнаю, насколько правильно обозвал в сабже проблему, суть в следущем:
Есть форма, куда подгружаются данные из бд. Фишка в том, что эти данные каждый раз разные, соответственно имена и id input'ов тоже каждый раз разные.
Что бы было понятно:
<?php
			$queryonerazd = mysql_query("SELECT `id`,`podrazdel`,`devnamesm`,`defkol`,`stoim` FROM `smdevice` WHERE `razdel` = '1' AND `notuse` = '0' AND `smuse` = '1' ORDER BY `podrazdel` ASC") or die(mysql_error());
			  if (mysql_num_rows($queryonerazd) > 0) {
			    while ($arronerazd = mysql_fetch_assoc($queryonerazd)) { 
?>

<tr>
              <td>&nbsp;1.<?php echo $arronerazd['podrazdel']; ?><input type='text' name='<?php echo $arronerazd['id']; ?>' value='<?php echo $arronerazd['id']; ?>' style='display:none' /></td>
              <td>&nbsp;<?php echo $arronerazd['devnamesm']; ?></td>
              <td><input type='text' name='defcol<?php echo $arronerazd['id']; ?>' value='<?php echo $arronerazd['defkol']; ?>' /></td>
              <td><input type='text' name='cena<?php echo $arronerazd['id']; ?>' value='<?php echo $arronerazd['stoim']; ?>' /></td>
              <td><input type='text' name='summye<?php echo $arronerazd['id']; ?>' value='' /></td>
              <td><input type='text' name='summrur<?php echo $arronerazd['id']; ?>' value='' /></td>
              <td><input type='checkbox' name='arn<?php echo $arronerazd['id']; ?>' value='1' /></td>
</tr>

<?php  
                }
			  }
			mysql_free_result($queryonerazd);
?>

В результате получается чтото типа этого:
<tr>
              <td>&nbsp;1.1<input type='text' name='3' value='3' style='display:none' /></td>
              <td>&nbsp;Блок РЕКС 2В</td>
              <td><input type='text' name='defcol3' value='' /></td>
              <td><input type='text' name='cena3' value='300.00' /></td>
              <td><input type='text' name='summye3' value='' /></td>
              <td><input type='text' name='summrur3' value='' /></td>
              <td><input type='checkbox' name='arn3' value='1' /></td>
</tr>

Т.е. проще говоря, к каждому имени поля добавляется уникальный ID записи в БД, разделов <tr></tr> может быть сколько угодно много или мало, не суть, суть в том, что каждый раз их разное кол-во.
Нужно следущее: у нас есть колонка с ценой и колонка с кол-вом (cena и defcol соотвтественно). В колонке кол-ва пишем число, которое умножается на цену и в колонках summye и summrur выводятся произведения кол-ва на сумму.
Вроде все просто, если б имена были постоянными, выдернуть значение поля по id никаких проблем не составляет, а как быть в этом случае ?
Единственная мысль, которая летает в голове, это выдернуть число (id) из 1го скрытого поля <input type='text' name='3' value='3' style='display:none' /> и далее уже с ним работать, но как это сделать ?
Посоветуйте алгоритм, пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 26.10.2010, 11:30
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Коль скоро цена и количество находятся в одной строке, Вы можете, отталкиваясь от инпута, найти tr-родитель, а в tr найти инпут с нужным именем.
Ответить с цитированием
  #3 (permalink)  
Старый 26.10.2010, 11:56
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Сообщение от subzey Посмотреть сообщение
найти tr-родитель, а в tr найти инпут с нужным именем.
Можно чуть подробнее, ибо я новичек в js и просто вот так вот не совсем понимаю, как "найти tr-родитель"
Ответить с цитированием
  #4 (permalink)  
Старый 26.10.2010, 13:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,209

Сообщение от lolka84
Можно чуть подробнее
Что-то типа такого...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
function Calc(Obj) {
	var o=Obj.parentElement 
	o=o.parentElement
	var o1=o.cells[0]
	var o2=o.cells[1]
	var o3=o.cells[2]
	o1=o1.getElementsByTagName('input')[0]
	o2=o2.getElementsByTagName('input')[0]
	o3=o3.getElementsByTagName('input')[0]
	o3.value=o1.value*o2.value
}
</script>
</head>
<body>
<table>
<tr>
	<td>
		<input type='text' onchange='Calc(this)' />
	</td>
	<td>
		<input type='text' onchange='Calc(this)' />
	</td>
	<td>
		<input type='text' />
	</td>
</tr>
</table>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 27.10.2010, 08:43
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Сообщение от ksa Посмотреть сообщение
Что-то типа такого...
Благодарю всяко, подогнал под себя - работает как часы
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с объектом MadGest Общие вопросы Javascript 3 21.09.2010 14:28
Работа эххххххх mycoding Оффтопик 28 10.02.2010 16:05
как мне сдеать чтобы форма работала с формой? nemo Серверные языки и технологии 2 29.11.2009 16:21
небольшая работа - интерфейс в ява скрипте :) int9 Работа 0 08.12.2008 22:51
Работа с фреймом Sufir Events/DOM/Window 2 23.07.2008 10:23