Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не получается вытащить значение из таблицы. (https://javascript.ru/forum/dom-window/14530-ne-poluchaetsya-vytashhit-znachenie-iz-tablicy.html)

Max1101 20.01.2011 12:14

Не получается вытащить значение из таблицы.
 
Здравствуйте. Никак не могу понять в чем проблема. Из нескольких модулей собираю сайт. На одной странице выводится таблица с описанием объекта. Ниже я вывожу форму заказа.
<table id="tabl" ...
...
</table>

После table при помощи <?php inlude(...);?> Добавляю форму и отправляю емайл таким скриптом:

<h2">Форма заказа</h2>
<form action="#" method="post" name="s_form">
...
</form>
<?php 

		$mailer = new ... ;
	        ...
        	$mailer->Body = "Описание заказа... ";
		$mailer->Send();
?>

Мне надо в body письма вставить некоторые поля из таблицы.
Пробую скриптом получить значение ячейки, чтобы потом записать в input hiden, а в письмо потом вставить из $_request.

Как не побую код типа
var td_cells=document.getElementById("tabl").cells;
    alert(td_cells[1].value);

(еще многие способы пробовал)
возвращает:
Ошибка: td_cells is undefined

Помогите понять что не так или может можно эту задачу по другому решить. Я просто пока не сильно в JavaScript разбираюсь.

Max1101 20.01.2011 12:25

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

ksa 20.01.2011 14:34

Цитата:

Сообщение от Max1101
Как не побую код типа
var td_cells=document.getElementById("tabl").cells;     
alert(td_cells[1].value);
(еще многие способы пробовал)

Попробуй вот такой (пример из МСДН)

<HTML>
<SCRIPT LANGUAGE="JScript">
function numberCells() {
    var o=document.getElementById('oTable');
    var count=0;
    for (i=0; i < o.rows.length; i++) {
        for (j=0; j < o.rows(i).cells.length; j++) {
            o.rows(i).cells(j).innerText = count;
            count++;
        }
    }
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id='oTable' border='1'>
<TR><TH>&nbsp;</TH><TH>&nbsp;</TH><TH>&nbsp;</TH><TH>&nbsp;</TH></TR>
<TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
</TABLE>
</BODY>
</HTML>

Max1101 20.01.2011 15:05

Спасибо за помощь, вроде все получилось..
Вот эта строка не работала:
var td_cells=document.getElementById("tabl").cells;
Написал так:
var td_cells = document.getElementById("tabl").rows;
и все заработало.


Часовой пояс GMT +3, время: 16:58.