Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Получить значение ячеек определенной строки таблицы (https://javascript.ru/forum/dom-window/34306-poluchit-znachenie-yacheek-opredelennojj-stroki-tablicy.html)

AMSPeople 28.12.2012 19:48

Получить значение ячеек определенной строки таблицы
 
Доброе время, господа!
Есть приблизительно такой вид html-странички:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
	</head>	
	<body>
		<table id="newItems" width="100%"><tr><th width="7%"><b>Код</b></th><th><b>Наименование</b></th><th width="10%"><b>Изображение</b></th><th width="40%"><b>Описание</b></th></tr>
			<tr>
				<td>900111</td>
				<td><b>1C:</b> Тонер HP LJ Color 1215/1518/2025/CM1312 (45гр.) Синий</td>
				<td><a href="https://www.google.ru/search?q=Тонер HP LJ Color 1215/1518/2025/CM1312 (45гр.) Синий&um=1&hl=ru&tbo=d&biw=1440&bih=783&tbm=isch&source=lnt&tbs=isz:ex,iszw:500,iszh:500&sa=X" target="_blank">Google.Ru</a></td>
				<td><textarea style="width: 99%">Магазин не знает о товаре с этим кодом</textarea><br /><input type="button" value="Добавить в БД" OnClick="sendPost();" /></td>
			</tr>
		</table>
	</body>
</html>

Только строк там на порядок будет больше. Страница формируется php-скриптом.
При клике на кнопку "Добавить в БД" будет срабатывать функция sendPost, которая отправит POST-запрос серверу. Это так, общая задача.
Сейчас прошу от вас помощи в написании функции, которая вернет значение первой ячейки (Код), второй ячейки (Наименование) и содержимое <textarea> четвертой ячейки (Описание), при нажатии на кнопку "Добавить в БД". Ячейки, соотвественно, принадлежат той строке, на которой находится кнопка.
Если необходимо как-то изменить структуру html-страницы, то - нет проблем.
Спасибо!

lord2kim 28.12.2012 22:42

AMSPeople,
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script>
function sendPost(ths) {
    var tr = ths.parentNode.parentNode,
         code = tr.getElementsByTagName("td")[0].innerHTML,
         name = tr.getElementsByTagName("td")[1].innerHTML.replace("<b>", "").replace("</b>", ""),
         review = tr.getElementsByTagName("td")[3].childNodes[0].value;
    alert(code+"\n"+name+"\n"+review);
}
</script>
	</head>	
	<body>
		<table id="newItems" width="100%"><tr><th width="7%"><b>Код</b></th><th><b>Наименование</b></th><th width="10%"><b>Изображение</b></th><th width="40%"><b>Описание</b></th></tr>
			<tr>
				<td>900111</td>
				<td><b>1C:</b> Тонер HP LJ Color 1215/1518/2025/CM1312 (45гр.) Синий</td>
				<td><a href="https://www.google.ru/search?q=Тонер HP LJ Color 1215/1518/2025/CM1312 (45гр.) Синий&um=1&hl=ru&tbo=d&biw=1440&bih=783&tbm=isch&source=lnt&tbs=isz:ex,iszw:500,iszh:500&sa=X" target="_blank">Google.Ru</a></td>
				<td><textarea style="width: 99%">Магазин не знает о товаре с этим кодом</textarea><br /><input type="button" value="Добавить в БД" OnClick="sendPost(this);" /></td>
			</tr>
		</table>
	</body>
</html>

AMSPeople 28.12.2012 22:57

lord2kim,
Огромное спасибо, работает! +1 в карму.


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