Я пытаюсь захватить значения ячейки из таблицы HTML, чтобы я мог сохранить их в таблице MySQL через вызов PHP. Я хотел бы использовать JavaScript, а не jQuery.
Я даю каждому TR отдельный идентификатор, основанный на поле идентификатора таблицы MySQL. Кроме того, каждая входная ячейка TD имеет уникальный идентификатор, основанный на поле идентификатора таблицы MySQL. Не уверен, нужны ли мне все это, но я использовал их.
Как получить значение ячейки, чтобы я мог передать ее в PHP-процедуру (я знаю, как закодировать этот PHP), чтобы сохранить данные в MySQL? Мой код JavaScript ниже захватывает «innerHTML», но мне нужно взять значение ячейки вместо этого.
Например, если у меня есть 3 строки данных из таблицы MySQL, с идентификаторами полей и количеством, со значениями ниже, как я могу захватить «3» и «1.99» ?:
id amount ------------- 1 100.00 2 9.99 3 1.99
Вот пример кода PHP / HTML для таблицы, кнопки отправки и вызова onclick: (это очень упрощенная версия моего фактического кода, но должна передать идею)
<?php /* define mysql database connect, query and execute it returning result set into $result, id=integer primary key, is_active=tinyint(0 or 1), amount=decimal(12,2) */ /* ... */ /* output form/table */ echo "<form id='myform' name='myform' >" ; echo "<table id='mytable' name='mytable'>" ; while($row = mysql_fetch_array($result)) { $id = $row['id'] ; $amount = $row['amount'] ; $tr_id = "tr_id_" . trim((string)$id) ; $td_id = "td_id_" . trim((string)$id) ; $td_amount_id = "td_amount_id_" . trim((string)$id) ; $input_amount_id = "input_amount_id_" . trim((string)$id) ; echo "<tr id='$tr_id' name='$tr_id'>"; echo "<td id='$td_id_account' > $id </td>" ; echo "<td id='$td_amount_id' > <input type='text' id='$input_amount_id' value=$amount > $amount </td>" ; echo "</tr>"; } echo "</table>"; echo "</form>" ; /* submit button and onclick call */ echo "<br />" ; echo "<table>"; echo "<tr>" ; echo "<td>"; echo "<button type='button' " . 'onclick="SubmitTableData(\'' . "mytable" .'\');"' . ">Submit</button>" ; echo "</td>" ; echo "</tr>"; echo "</table>"; ?>
И вот пример моей функции JavaScript, используемой для циклического преобразования строк таблицы HTML:
function SubmitTableData(TableID) { var table = document.getElementById(TableID); for (var i = 0, row; row = table.rows[i]; i++) { // iterate through rows for (var j = 0, col; col = row.cells[j]; j++) { // iterate through columns alert(col.innerHTML); } /* call PHP procedure with row's cell values as parameters */ /* ... */ break; } }
Спасибо за любую помощь.