Автоматическое закрытие окна

голоса: 0

Добрый день! помогите, пожалуйста, сделать автоматическую закрытие окна, после отправки письма

а то пользователь нажимает на "подать заявку"-письмо то уходит, а вот сообщение "Отправка сообщения" так и висит и окно тоже, пользователь начинает нажимать снова на отправку и получается приходит несколько писем. вот скрипт:
 

| Автор: | Категория: Ajax
Переоткрытие | | Автор: Sentimo

Ответов: 1

Голоса: +1
 
Лучший ответ
Покажите код, в вопросе его нет.
| Автор:
Выбор ответа лучшим | | Автор: Евгений Знахарев

<script>
$(function(){$('form[name=mform]').attr({'onsubmit':'neworder();return false;'})})
 function neworder(){
new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},'Отправка сообщения')
 $.ajax({
 url:'/mail/',
 type:'POST',
 data:$('form[name=mform]').serialize(),
 success:function(response){
 $(response).find("cmd").filter(':eq(1)').each(function(){
 if($(this).text()=="Сообщение отправлено"){
 $.ajax({
 url:'/php/shop/neworder.php',
 type:'POST',
 data:$('form[name=mform]').serialize()+'&variant='+parent.novariant+'&price='+parent.noprice,
 success:function(response){var result = JSON.parse(response);if(result.status==1){parent.location.href='/order?key='+result.text} else {new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},result.text)}}
 })
 } else {$(response).find("cmd").filter(':eq(0)').each(function(){new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},$(this).text())}) }
 })}})}
</script>

Евгений Знахарев,

Попробуйте так...

<script>
$(function(){$('form[name=mform]').attr({'onsubmit':'neworder();return false;'})})
 function neworder(){
new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},'Отправка сообщения')
 $.ajax({
 url:'/mail/',
 type:'POST',
 data:$('form[name=mform]').serialize(),
 success:function(response){_uWnd.close('sendMFe2');
 $(response).find("cmd").filter(':eq(1)').each(function(){
 if($(this).text()=="Сообщение отправлено"){
 $.ajax({
 url:'/php/shop/neworder.php',
 type:'POST',
 data:$('form[name=mform]').serialize()+'&variant='+parent.novariant+'&price='+parent.noprice,
 success:function(response){var result = JSON.parse(response);if(result.status==1){parent.location.href='/order?key='+result.text} else {new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},result.text)}}
 })
 } else {$(response).find("cmd").filter(':eq(0)').each(function(){new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},$(this).text())}) }
 })}})}
</script>

Sentimo,

Здравствуйте! Чтобы не создавать отдельный почти такой же вопрос, решил попробовать сюда написать, может сможете подсказать...

На сайте форма обратного звонка в модальном окне, все стандартное юкоз, как сделать автоматическое закрытие модального окна при нажатии на submit кнопку? Видел ответ - повесить событие на onclick:

  "_uWnd.close('name')"

но дело в том, что в js я не силен, а на onclick уже есть событие метрики:

  onclick="ym(52801231, 'reachGoal', 'request'); return true;"

и что должно быть на месте "name"?

Антон Чагин,

На месте name пишется название окна, какое окно вызывает эта функция?

 ym(52801231, 'reachGoal', 'request')
Sentimo,

Модальное окно div id="callback", тогда вместо name будет:

 "_uWnd.close('#callback')"

верно?

какое окно вызывает эта функция?

  ym(52801231, 'reachGoal', 'request')

 Это функция Яндекс Метрики, она отправляет данные в метрику о событии (нажатие на кнопку) в качестве Цели.

Sentimo,

Благодарю! сообщение "Отправка сообщения закрывается", но окно с заполненными данными так и остается висеть) видимо, я не так задал вопрос. нужно, чтобы и окно закрывалось или вылезало окно "сообщение отправлен" (стандартное юкозовское, где надо просто нажать крестик)

Евгений Знахарев,
Код самого окна покажите...
Sentimo,

<html>
 <head>
 <meta charset="utf-8">
 <title>Оформление заказа на opalubka116.ru</title>
 <meta name="description" content="Оформление заказа. Заполните все необходимые поля для оформления вашего заказа." /> 
 <link href='https://fonts.googleapis.com/css?family=Oswald:200,300,400,500,600,700&subset=cyrillic' rel='stylesheet'>
 <style>
 body{margin:0;font:14px/1.5 "Oswald", sans-serif;color:#666;text-align:center;width:240px;padding:5px}
 h1{text-align:center;font-size:16px}
 input[type=text],input[type=file]{color:#888;background:#FFF;border:1px solid #CCC;padding:9px 10px;margin:8px 0;outline:none;display:block;width:100%;box-sizing:border-box}
 input[type=submit]{color:#FFF;border:none;border-radius:5px;margin:0 0 2px;padding:11px 20px;cursor:pointer;transition:all .2s ease-out 0s;background:#e8b610}
 input[type=submit]:hover{background:#232A2C}
 .myWinGrid {display:none !important}
 .xw-tl,.xw-bl,.myWinFooter {display:none}
 .xw-plain {width:250px !important;overflow:hidden !important;font-size:13px;}
 .myWinCont {width:auto !important}
 .xw-body {padding:10px !important}
 .xw-body > div {height:auto !important}
 </style>
 </head>
 <body><?if($ADMIN_BAR$)?><?endif?>
 <h1>Оформление заказа</h1>
 $CONTENT$
 $POWERED_BY$
<script>
$(function(){$('form[name=mform]').attr({'onsubmit':'neworder();return false;'})})
 function neworder(){
new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},'Отправка сообщения')
 $.ajax({
 url:'/mail/',
 type:'POST',
 data:$('form[name=mform]').serialize(),
 success:function(response){_uWnd.close('sendMFe2'); parent.$.fancybox.close();

$(response).find("cmd").filter(':eq(1)').each(function(){
 if($(this).text()=="Сообщение отправлено"){
 $.ajax({
 url:'/php/shop/neworder.php',
 type:'POST',
 data:$('form[name=mform]').serialize()+'&variant='+parent.novariant+'&price='+parent.noprice,
 success:function(response){var result = JSON.parse(response);if(result.status==1){parent.location.href='/order?key='+result.text} else {new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},result.text)}}
 })
 } else {$(response).find("cmd").filter(':eq(0)').each(function(){new _uWnd('sendMFe2','Отправка сообщения',-350,-100,{},$(this).text())}) }
 })}})}
</script>

Sentimo,

<input type="text" name="f4" placeholder="Ваше имя*" required>
<input type="text" name="f1" placeholder="E-mail*" required>
<input type="text" name="f5" placeholder="Телефон*">
<input id="fc91" type="checkbox" name="f9" value="Я согласен(а) на обработку персональных данных"> <label for="fc91">Я согласен(а) на <a href="/index/policy" target=_blank >обработку персональных данных</a></label>
<input type="submit" value="Подать заявку">
<input type="hidden" name="f6" id="order-url">
<input type="hidden" name="f2" value="Новый заказ на сайте opalubka116.ru"> 
<textarea name="f3" style="display:none" id="order-info"></textarea>

Евгений Знахарев,
Дописал в скрипте выше, добавьте красное и проверьте.
...