Захват заполненной HTML-таблицы

#php #html #email #html-table

#php #HTML #Адрес электронной почты #html-таблица

Вопрос:

Есть ли у вас какие-либо предложения по этой конкретной проблеме.

У меня довольно сложная html-таблица, которая заполняется пользователем. У меня есть некоторая функция JavaScript, которая генерирует новую строку, когда это необходимо. Я хочу отправить по электронной почте эту заполненную таблицу, когда пользователь нажмет кнопку. Итак, мой вопрос в том, как мне «захватить» заполненную таблицу, а затем отправить ее по электронной почте? Конечно, я буду использовать функцию php mail.

Я думал распечатать экран, где находится таблица, и прикрепить его к электронной почте. Но должен быть лучший способ…

Ответ №1:

отправьте таблицу через AJAX (используйте getElementById-функцию для получения содержимого таблицы) в PHP-скрипт и используйте mail-функцию

 <div id='content'>
<table>
<!-- your table -->
</table>
</div>

<script type="text/javascript">
function send()
{
var table = document.getElementById('content').innerHTML;
// send the content of table via ajax (use jquery or build your own webrequest-object)
}
</script>

<button onclick="send()" value="Send" />
  

Комментарии:

1. Не могли бы вы объяснить мне, пожалуйста, как отправить таблицу через AJAX? Часть PHP не является проблемой, когда я получаю переменную по электронной почте.

2. Привет, ребята! Вот, Станислав w3schools.com/ajax/ajax_xmlhttprequest_create.asp у вас есть основные уроки, которые вам понадобятся для вашей цели.

3. Спасибо за помощь, но я думаю, что я буду использовать $_POST . Предложение @Biotox -s…

Ответ №2:

Почему бы не использовать $_POST для отправки электронной почты? Когда пользователь отправляет таблицу, вы публикуете свою информацию, форматируете ее и отправляете отправленную информацию пользователю по электронной почте. Вы сказали, что ваша таблица была заполнена пользователем. Итак, я предполагаю, что вы используете поля ввода.

Когда JavaScript записывает новую строку, он может создать новый элемент массива в PHP, используя имя HTML-элемента.

Это будет выглядеть так:

 <table>
  <tr>
    <td><input type="text" name="textname[]" value="Value1" /></td>
  </tr>
  <tr>
    <td>
      <!-- Created with JavaScript -->
      <input type="text" name="textname[]" value="Value2" />
    </td>
  </tr>
  <tr>
    <td><input type="submit" name="submit_button" value="submit" /></td>
  </tr>
<table>
  

Массив будет выглядеть следующим образом при публикации:

 array(
  ['textname'] =>
    array(
     [0] => 'Value1',
     [1] => 'Value2'
    )
  )