@rechmp

Как передать атрибут при нажатии кнопки?

Добрый день.
Извиняюсь, за нубский вопрос, но сам никак не могу найти решения в виду неопытности, ибо только постигаю программирование.

У меня есть вот такая табличка, котороая выбирается из базы.
c81a04.png
Последними двумя столбцами идет инпут и кнопка отправки.
Хотелось бы, чтобы при введении в поле инпут данных и нажатию кнопки на сервер отправлялась информация с данными номера строки (данные из ячейки первого столбца) и данные инпута, чтобы потом можно было занести в базу пару значений id:input_data
Загвоздка моя в том, что я не знаю как связать конкретную кнопку с номером стороки, и был бы очень признателен тем, кто помог бы мне с этим.
Желательно без ajax-jquery, просто php, просто отправить одну строку.
Спасибо.
  • Вопрос задан
  • 9978 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Способ 1.
Каждую строку делаете формой добавляя скрытое поле с номером строки
<input type='hidden' name='row' value='{$row}' />

Способ 2.
Каждую кнопку делаете с обработчиком нажатия
<input type='button' onclick='javascript:sendData("{$row}");' value='Добавить' />
В функцию sendData передаётся номер строки, по нему выбираете из таблицы поле ввода, получаете значение и передаёте на сервер.

Способ 3.
Каждую кнопку делаете с обработчиком нажатия
<input type='button' onclick='javascript:sendData(this);' value='Добавить' />
В функцию sendData передаётся DOM-элемент кнопки, через .parentNode добираетесь до <tr>, затем от него через .childNodes выбираете из первой ячейки номер строки, из поля ввода значение и передаёте на сервер.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
<button name='ROW_NUBMER' value="{$row_number}">Добавить<button>
Ответ написан
Комментировать
vanton
@vanton
Человек и пароход
А почему бы не задать номер строки как название инпута?
<input name="answer[1] type="text" value="" />
<input name="answer[2] type="text" value="" />
...
<input name="answer[20] type="text" value="" />
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы