#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'
)
)