Цитата:
Цитата:
|
Цитата:
|
Беда прямо какая-то с этим, вроде простая отправка на мыло...
Вариант с FormData работает только в Хроме - во всех остальных ничего не происходит, php-скрипт даже не выполняется. Вариант с serialize вообще не работает нигде. Вариант по ссылке moskitos80 вроде можно обойтись без js, но тогда, насколько я понял, достаточно просто добавить атрибут target в form и какой-то фрейм - в этом весь смысл статьи? Js всё равно придется делать, иначе как окошко, что сообщение отправлено или нет вывести? |
С FormData даже в хроме то работает, то нет.
Выдаёт сообщение: Warning: mail()[function.mail]: Could not execute mail delivery program '/usr/sbin/sendmail -t -i' in /home/uez-host/uez.ru/docs/sendmail.php on line 11 Это уже проблемы на стороне хостера? К ним стучать? |
Цитата:
Цитата:
|
Вариант с target везде сработал, спасибо!
|
Цитата:
Вот полный код: <script> function isSubmittable(control) { var element = control.nodeName.toLowerCase(); if(['textarea'].indexOf(element) > -1) return true; if(element == 'input') { if(['submit', 'button'].indexOf(control.type) > -1) return false; return true; } return false; } function serialize(form) { var segments = []; for(var i = 0, control; control = form.elements[i]; i++) { if (!control.name || control.disabled || !isSubmittable(control)) continue; segments.push(encodeURIComponent(control.name) + '=' + encodeURIComponent(control.value)); } return segments.join('&'); } function sendForm(form, success) { var request = new XMLHttpRequest(); request.open(form.method, form.action); request.onreadystatechange = function() { if (request.readyState == request.DONE) { if (request.status == 200) { success(request.responseText); } } }; request.send(serialize(form)); } </script> <h3>Форма отправки обращения</h3> <form onsubmit="return sendForm(this, alert), false" action="../sendmail.php" method="post"> <p><input type="text" size="40" placeholder="Ваше имя" name="user"></p> <p><input type="text" size="40" placeholder="E-mail" name="email"></p> <p><input type="text" size="40" placeholder="Тема письма" name="subj"></p> <p>Текст обращения<Br> <textarea placeholder="Текст обращения" name="text" cols="40" rows="6"></textarea></p> <p><input type="submit" value="Отправить" name="submit_form1"></p> </form> |
Цитата:
Кстати, ответ сервера на срочку в php-скрипте: header('Content-Type: text/html; charset=utf-8'); Warning: Cannot modify header information - headers already sent by (output started at /home/uez-host/uez.ru/docs/sendmail.php:1) in /home/uez-host/uez.ru/docs/sendmail.php on line 2 Что за ерунда? Как он может быть уже установлен? Настройки сервера виноваты? Т.к. на другом хосте этот же код работает как часы. |
Цитата:
Цитата:
header('Content-Type: text/html; charset=utf-8'); до момента какого либо вывода либо с использованием механизма буферизации опять же можно у меня глянуть: PHP: Буферизация вывода |
moskitos80,
так и есть, спасибо большое за помощь! |
Часовой пояс GMT +3, время: 04:55. |