Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.03.2016, 11:17
Интересующийся
Отправить личное сообщение для Vladislav306907 Посмотреть профиль Найти все сообщения от Vladislav306907
 
Регистрация: 18.01.2016
Сообщений: 28

Двойная отправка сообщений
Добрый день, помогите найти проблему, пожалуйста. Добавил аяксовый скрипт, который формирует всплывающее окно и после очищает форму.
$(".fofm").submit(function() {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "contact.php",
data: str,
success: function(msg) {
if(msg == 'ok') {
$('.contwindow').html('<p>Спасибо за ваше обращение!</p><br><p>Наше специалист свяжется с вами в ближайшее время</p>');
$('.contwindowhide').fadeIn(400).delay(2000).fadeO ut(400);
jQuery(".fofm").trigger("reset");
$.arcticmodal('close');
}
else {
/*
$('.contwindow_error').html('<p>Письмо не отправленно, проверьте заполненость полей.</p>');
$('.popup2, .overlay').css('opacity','1');
$('.popup2, .overlay').css('visibility','visible');
$('.contwindowhide').css({'opacity':'1','visibilit y':'visible'}); */
}
}
});
return false;
});


После добавления этого скрипта все работает, но письмо на почту приходит 2 раза. В чем может быть дело?
Ответить с цитированием
  #2 (permalink)  
Старый 14.03.2016, 11:34
Интересующийся
Отправить личное сообщение для Vladislav306907 Посмотреть профиль Найти все сообщения от Vladislav306907
 
Регистрация: 18.01.2016
Сообщений: 28

Даже вот так укоротить код если

$(".fofm").submit(function() {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "contact.php",
data: str,
success: function(msg) {

$('.contwindow').html('<p>Спасибо за ваше обращение!</p><br><p>Наше специалист свяжется с вами в ближайшее время</p>');
$('.contwindowhide').fadeIn(400).delay(2000).fadeO ut(400);
jQuery(".fofm").trigger("reset");
$.arcticmodal('close');

}
});
return false;
});
Ответить с цитированием
  #3 (permalink)  
Старый 14.03.2016, 12:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

$(".fofm").submit(function(e) {
e.preventDefault()
;
$.ajax({
type: "POST",
url: "contact.php",
data: $(this).serialize(),
.......
Ответить с цитированием
  #4 (permalink)  
Старый 14.03.2016, 12:29
Интересующийся
Отправить личное сообщение для Vladislav306907 Посмотреть профиль Найти все сообщения от Vladislav306907
 
Регистрация: 18.01.2016
Сообщений: 28

Все равно приходит 2 раза

$(".fofm").submit(function(e) {

e.preventDefault();
$.ajax({
type: "POST",
url: "contact.php",
data: $(this).serialize(),
success: function(msg) {

$('.contwindow').html('<p>Спасибо за ваше обращение!</p><br><p>Наше специалист свяжется с вами в ближайшее время</p>');
$('.contwindowhide').fadeIn(400).delay(2000).fadeO ut(400);
jQuery(".fofm").trigger("reset");
$.arcticmodal('close');

}
});
return false;
});
Ответить с цитированием
  #5 (permalink)  
Старый 14.03.2016, 12:33
Интересующийся
Отправить личное сообщение для Vladislav306907 Посмотреть профиль Найти все сообщения от Vladislav306907
 
Регистрация: 18.01.2016
Сообщений: 28

Вот сама форма

<?php
//проверяем значения полученые при проверке скриптом формы
if (trim($_POST['valTrFal'])!='valTrFal_true') {
echo 'fasle';
}
else {

$txtname = trim($_POST['txtname']);

$txtNameValue = trim($_POST['name_class_value']);

$txtemail = trim($_POST['txtemail']);

$txtphone = trim($_POST['txtphone']);

$txtmessage = trim($_POST['txtmessage']);

// от кого
$fromMail = 'digrandcom@gmail.com';
$fromName = 'Ремонт-сервис';

// Сюда введите Ваш email
$emailTo = 'Vladislav306907@yandex.ru';


$subject = 'Форма обратной связи';
$subject = '=?utf-8?b?'. base64_encode($subject) .'?=';
$headers = "Content-type: text/plain; charset=\"utf-8\"\r\n";
$headers .= "From: ". $fromName ." <". $fromMail ."> \r\n";

// тело письма
$body = "Письмо с сайта \n\nИмя: $txtname\nТелефон: $txtphone\ne-mail: $txtemail \nСообщение: $txtmessage";
$mail = mail($emailTo, $subject, $body, $headers, '-f'. $fromMail );


echo 'ok';
}
?>
Ответить с цитированием
  #6 (permalink)  
Старый 14.03.2016, 12:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Без e.preventDefault() будет происходить обычная отправка формы, и не факт что при этом еще и $.ajax отправит.

Открывайте отладчик, смотрите что отправляется на сервер - если по onsubmit формы будет два запроса сервера, значит нужно проверить js-код, вплоть до того как инициализируется отправка, баг в нем. Если же запрос один, то баг в серверном скрипте.
Ответить с цитированием
  #7 (permalink)  
Старый 14.03.2016, 12:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Это что if (trim($_POST['valTrFal'])!='valTrFal_true') за хрень?
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2016, 12:39
Интересующийся
Отправить личное сообщение для Vladislav306907 Посмотреть профиль Найти все сообщения от Vladislav306907
 
Регистрация: 18.01.2016
Сообщений: 28

От предыдущего кодера осталось, я за ним правлю сижу
Ответить с цитированием
  #9 (permalink)  
Старый 14.03.2016, 12:41
Интересующийся
Отправить личное сообщение для Vladislav306907 Посмотреть профиль Найти все сообщения от Vladislav306907
 
Регистрация: 18.01.2016
Сообщений: 28

Удалил эту часть, не нужна она
Ответить с цитированием
  #10 (permalink)  
Старый 14.03.2016, 12:44
Интересующийся
Отправить личное сообщение для Vladislav306907 Посмотреть профиль Найти все сообщения от Vladislav306907
 
Регистрация: 18.01.2016
Сообщений: 28

http://prntscr.com/af1iff - 2 запроса, в коде не вижу косяка я
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка сообщений на e-mail serigc Серверные языки и технологии 1 18.12.2014 23:37
Асинхронная отправка сообщений Гугл-мен Общие вопросы Javascript 18 20.07.2013 12:33
Отправка сообщений с сайта KamalovRadik jQuery 2 13.02.2012 01:25
Отправка сообщений ВКонтакте systemiv Общие вопросы Javascript 3 20.08.2011 14:35
Скрипты отправка сообщений между пользователями, скрипт вывод текста на страницу.... Rapala Элементы интерфейса 2 12.01.2011 17:27