Как ссылаться на элемент HTML в php? - PullRequest
0 голосов
/ 13 декабря 2010

У меня есть HTML-страница.При нажатии на одну ссылку на странице запускается функция php, которая добавляет на страницу таблицу HTML (реализована с помощью AJAX, функция php находится в отдельном файле php).

Теперь у меня есть кнопка на странице, которая должна запускать другую функцию php, которая должна собирать данные из таблицы и что-то с ними делать.Я не знаю, как получить данные из таблицы, потому что:

  1. Я не знаю, как ссылаться (получать) на HTML-элемент через php.
  2. Моя функция php находится в отдельном файле.

Что если я положу все из таблицы в аргументы POST или GET?Есть ли способ ссылки на таблицу и итерации ее строк и получения данных таким образом?Благодарю.

Ответы [ 4 ]

4 голосов
/ 13 декабря 2010

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

Вы можете получить значения таблицы, сначала установив идентификатор таблицы следующим образом:

<table id="someTable">
<tr id="someRow">
    <td>Data</td>
    <td>Data2</td>
</tr>
</table>

Затем вы можете вызвать значения из таблицы, используя JavaScript:

var row = document.getElementById("someRow");
var cellValues = row.getElementsByTagName("td");

Это поместит все ячейки в массив.Затем вы можете поместить их в переменные.

var firstCell = cellValues[0].innerText;
var secondCell = cellValues[1].innerText;

Затем вы можете поместить его в запрос AJAX и отправить его в вашу функцию PHP для обработки.

Это отправит GET или POSTзапросите yourfile.php, и тогда вы сможете манипулировать строками ячеек любым способом, каким захотите, и отослать результат, отобразив его в файле PHP.Вы можете получить результаты, сделав функцию обратного вызова.

Надеюсь, это поможет, Крис

2 голосов
/ 13 декабря 2010

Я не знаю, как ссылаться (получать) на HTML-элемент через php.

Используйте JavaScript для получения данных из таблицы.

Моя функция php находится в отдельном файле.

Создайте еще один AJAX-запрос для его обработки PHP,

1 голос
/ 13 декабря 2010

Да, вы должны поместить данные в аргументы POST.Не используйте GET, так как стол может стать большим.Вы можете использовать JavaScript, чтобы получить все данные от элементов.Отправьте данные с помощью ajax на страницу php.Теперь вы можете получить данные поста и так далее (например, сохраняющиеся).

Причина, по которой вы не можете получить их напрямую с помощью php, заключается в том, что html и javascript запускаются браузером (на стороне клиента)в то время как php работает на веб-сервере (на стороне сервера).Вам нужны какие-то связи между этими машинами, чтобы использовать ресурсы друг друга.

1 голос
/ 13 декабря 2010

Вы не можете ссылаться на таблицу HTML из PHP. Ваш JS должен просто отправить данные таблицы, извлеченные из таблицы html, в виде JSON. Ваш PHP может ответить еще несколькими JSON, которые ваш JS может использовать для управления существующей таблицей.

Файл php, который используется в качестве ответа на XHR, не должен генерировать JS. Просто JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...