Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.03.2012, 21:58
Новичок на форуме
Отправить личное сообщение для Teotim Посмотреть профиль Найти все сообщения от Teotim
 
Регистрация: 06.03.2012
Сообщений: 4

Как усовершенствовать форму обратной связи?
Скажите, пожалуй, как сделать, что бы после отправки письма (форма обратной связи на PHP) появлялось окошко, что Ваше письмо отправлено (Что-то вроде Alert). Вот только, чтобы не открывалась новая страница, а сообщение появлялось на той же странице где установлена форма. Спасибо!

Есть форма:

Код:
<form action="http://www.sayt.ru/obratnaya/mail.php" method="post">
<p> Имя:</p>
<p>
<input type="text" name="nick" size="40" />
</p>
<p>E-mail (обязательно для заполнения)</p>
<p><input type="text" name="email" size="40" /></p>
<p>Телефон:</p>
<p>
<input type="text" name="telefon" size="40" />
</p>
<p><span class="red">Текст сообщения:</span></p>
<p><textarea name="msg" cols="50" rows="6"></textarea>
</a></p>
<p><input type="submit" value="Отправить сообщение!" id="submit_mail" /></p>
</form>
Создан mail.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=1251" />
<title>Обратная связь</title>
</head>
<?php
$url = "http://www.sayt.ru/sayt.html"; //Ваша страница, где вы будете ставить форму обратной связи.
$title = "http://www.sayt.ru/sayt.html"; //адрес вашего сайта
$subject = "Оформлена заявка на сайте $title"; //Тема отпровляемых вам сообщений
$admail = "sayt@mail.ru"; //Ваш e-mail, на который будут отправляться письма
$back = "<p><a href=\"javascript: history.back()\">Вернуться на страницу</a></p>";

if(@$_POST['nick'] or @$_POST['email'] or @$_POST['msg'] or @$_POST['telefon'])
{
@$nick = $_POST['nick'];
@$email = $_POST['email'] or die("Пожалуйста, введите E-mail!$back");
@$telefon = $_POST['telefon'];
@$msg = $_POST['msg'] or die("Пожалуйста, напишите сообшение!$back");

if(!eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $email))
{
echo "Пожалуйста, введите корректный E-mail!$back";
exit;
}

$content = "\nОтправитель : $nick!\n
Емаил: $email\n
Телефон: $telefon\n
Составлено на странице: \"$title\n
Текст:\n\n$msg";
if(!@mail($admail, $subject, $content))
{
echo "Ошибка при отправке письма. Пожалуйста, сообщите об этом администратору данного сайта,<Br> позвонив по телефону: (812) 1111111.$back";
exit;
}
else
{
echo("<Script Language='JavaScript1.2'>");
echo("alert('Спасибо, Ваше сообщение отправлено!');");
echo ("location.href=\"javascript: history.back()\";");
echo("</Script>");
}
}
else {
die("Пожалуйста, заполните все поля!$back");
}
?>
<body>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 06.03.2012, 22:56
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

форма:
<form id="formname">
<p> Имя:</p>
<p>
<input type="text" name="nick" size="40" id="input1"/>
</p>
<p>E-mail (обязательно для заполнения)</p>
<p><input type="text" name="email" size="40" id="input2" /></p>
<p>Телефон:</p>
<p>
<input type="text" name="telefon" size="40" id="input3"/>
</p>
<p><span class="red">Текст сообщения:</span></p>
<p><textarea name="msg" cols="50" rows="6" id="input4"></textarea>
</a></p>
<p><input type="button" value="Отправить сообщение!" id="submit_mail" /></p>
</form>


скрипт:
$("#submit_mail").click(function(){
var sendnick = $("#input1").val();
var sendmail = $("#input2").val();
var sendphone = $("#input3").val();
var sendmsg = $("#input4").val();

 $.post("mail.php",{ nick: sendnick, email: sendmail, telefon: sendphone, msg: sendmsg},function(data){
alert(data);
});


в mail.php заменить:
echo("<Script Language='JavaScript1.2'>");
echo("alert('Спасибо, Ваше сообщение отправлено!');");
echo ("location.href=\"javascript: history.back()\";");
echo("</Script>");


на

echo("Спасибо, Ваше сообщение отправлено!");


к index.php подключить jquery
__________________
С моих слов записано верно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Форма обратной связи Antifactor Я не знаю javascript 2 09.06.2009 15:21
Как сделать форму? Dontshoot Я не знаю javascript 6 03.06.2009 01:49
Как узнать форму из скрипта sectus Общие вопросы Javascript 6 04.09.2008 13:24
SetVariable как средство связи JavaScript и Flash Воитель Общие вопросы Javascript 2 28.06.2008 00:43