X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Обновление формы, Обновление ajax-формы
konstantinskiy
konstantinskiy
Topic Starter сообщение 3.5.2013, 14:31; Ответить: konstantinskiy
Сообщение #1


Новичок
*

Группа: User
Сообщений: 43
Регистрация: 13.6.2012
Из: Украина, Донецк-Харьков
Поблагодарили: 8 раз
Репутация:   3  


Здравствуйте.
У меня такой вопрос. Нагуглил как сделать очистку именно input'ov после отправки формы, но задача не совсем такая.
Есть модальное окно с использованием fancybox+ajax+php (для отправки данных на мыло). После введения данных и нажатия отправить, появляется сообщение "Успешно! Ваше сообщение отправлено" и окно закрывается через 2 сек.
Если открыть еще раз, то горит это же сообщение "Успешно! Ваше сообщение отправлено"
Собственно вопрос, как сделать чтобы без перезагрузки страницы форма была в изначальном виде?

Заранее спасибо!

Вот ссылка на форму
http://konstantinskiy.16mb.com/


--------------------
Все интересное по тематике html5 верстка, jQuery, WordPress тут - http://freelancerblog.ru
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 3.5.2013, 14:37; Ответить: devuser
Сообщение #2


Все будет тип-топ
*****

Группа: Active User
Сообщений: 713
Регистрация: 5.12.2012
Из: Online
Поблагодарили: 342 раза
Репутация:   52  


Вместо

if(data == "true") {
    $("#contact").fadeOut("fast", function(){
        $(this).before("<p><strong>Успешно! Ваше сообщение отправлено</strong></p>");
        setTimeout("$.fancybox.close()", 2000);
    });
}


сделайте
if(data == "true") {
    $("#contact").fadeOut("fast", function(){
        $(this).before("<p><strong>Успешно! Ваше сообщение отправлено</strong></p>");
        setTimeout("$.fancybox.close()", 2000);
    });
    $('#contact input, #contact textarea').val('').removeClass('error');
    $('#contact p').remove();
}


Сообщение отредактировал devuser - 3.5.2013, 14:38


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
tszyan
tszyan
сообщение 3.5.2013, 14:59; Ответить: tszyan
Сообщение #3


Участник
***

Группа: User
Сообщений: 207
Регистрация: 28.1.2013
Из: Москва
Поблагодарили: 110 раз
Репутация:   27  


devuser,
Наверное этот код надо внутрь setTimeout поместить.
$('#contact input, #contact textarea').val('').removeClass('error');
    $('#contact p').remove()


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 3.5.2013, 15:39; Ответить: devuser
Сообщение #4


Все будет тип-топ
*****

Группа: Active User
Сообщений: 713
Регистрация: 5.12.2012
Из: Online
Поблагодарили: 342 раза
Репутация:   52  


tszyan, верно

if(data == "true") {
    $("#contact").fadeOut("fast", function(){
        $(this).before("<p><strong>Успешно! Ваше сообщение отправлено</strong></p>");
        setTimeout(function(){
                $.fancybox.close();
                $('#contact input, #contact textarea').val('').removeClass('error');
                $('#contact p').remove();
        }, 2000);
    });
}


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
konstantinskiy
konstantinskiy
Topic Starter сообщение 3.5.2013, 15:48; Ответить: konstantinskiy
Сообщение #5


Новичок
*

Группа: User
Сообщений: 43
Регистрация: 13.6.2012
Из: Украина, Донецк-Харьков
Поблагодарили: 8 раз
Репутация:   3  


devuser, спасибо за ответ!!:)
Но не срабатывает. Мне нужна не очистка input
А нужно без перезагрузки при повторном нажатии на ссылку, чтобы было не так http://gyazo.com/fb3e90a2f3fb0f9437611c788c77c660
а так http://gyazo.com/4d4b70dabe3718b37174ac8a8a6e9ce7


А что такое $('#contact p').remove(); ?
#contact p, у меня в коде не используются теги <p>


--------------------
Все интересное по тематике html5 верстка, jQuery, WordPress тут - http://freelancerblog.ru
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 3.5.2013, 15:53; Ответить: devuser
Сообщение #6


Все будет тип-топ
*****

Группа: Active User
Сообщений: 713
Регистрация: 5.12.2012
Из: Online
Поблагодарили: 342 раза
Репутация:   52  


(konstantinskiy @ 3.5.2013, 14:48) *
А что такое $('#contact p').remove(); ?#contact p, у меня в коде не используются теги <p>


а вот тут используется ведь
(devuser @ 3.5.2013, 14:39) *
  $(this).before("<p><strong>Успешно! Ваше сообщение отправлено</strong></p>");


Я не совсем вас понял, что вы хотите. Если не хотите форму закрывать - уберите fadeOut


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
konstantinskiy
konstantinskiy
Topic Starter сообщение 3.5.2013, 16:06; Ответить: konstantinskiy
Сообщение #7


Новичок
*

Группа: User
Сообщений: 43
Регистрация: 13.6.2012
Из: Украина, Донецк-Харьков
Поблагодарили: 8 раз
Репутация:   3  


devuser, форма должна закрываться , тут все работает правильно.
Еще раз по шагам... запонили валидные данные, нажали "отправить" и выводится сообщение в модальном окне "Успешно! Ваше сообщение отправлено" и через 2 сек модальное окно исчезает.
Мне нужно, если еще раз открывать это окно (т.е. на гл странице нажать на ссылку "Отправить сообщение"), чтобы в открывшемся модальном окне не было сообщения "Успешно! Ваше сообщение отправлено", а опять была возможность заполнить поля БЕЗ перезагрузки страницы.


--------------------
Все интересное по тематике html5 верстка, jQuery, WordPress тут - http://freelancerblog.ru
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 3.5.2013, 16:08; Ответить: devuser
Сообщение #8


Все будет тип-топ
*****

Группа: Active User
Сообщений: 713
Регистрация: 5.12.2012
Из: Online
Поблагодарили: 342 раза
Репутация:   52  


Ну так я же вам дал код.
Вставьте его в ваш шаблон.
Он именно очищает введенные данные и удаляет сообщение об удачной отправке. После чего окно закрывается.

А вы сейчас убрали тег p и удаляете всю форму, целиком.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
konstantinskiy
konstantinskiy
Topic Starter сообщение 3.5.2013, 16:14; Ответить: konstantinskiy
Сообщение #9


Новичок
*

Группа: User
Сообщений: 43
Регистрация: 13.6.2012
Из: Украина, Донецк-Харьков
Поблагодарили: 8 раз
Репутация:   3  


devuser, конечно же я попробовал ваш вариант первым делом.
Это я уже экспериментирую..
Вот вернул как вы написали, обновите страницу. Все равно не срабатывает


--------------------
Все интересное по тематике html5 верстка, jQuery, WordPress тут - http://freelancerblog.ru
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как включить автоматическое обновление для плагинов WordPress и самого движка?
0 Telnor 389 10.12.2017, 13:27
автор: Telnor
Горячая тема (нет новых ответов) Глобальное обновление! Более 1000 площадок под размещение вечных статей + суперакция!
Эксклюзивное предложение. Успей получить написание статей БЕСПЛАТНО
44 VIMstat 32005 5.12.2017, 17:22
автор: VIMstat
Горячая тема (нет новых ответов) Xrumer 16.0 – лучшее обновление за несколько лет. Новые инструменты
88 AnnaYa 20810 27.11.2017, 22:07
автор: Botmaster
Открытая тема (нет новых ответов) Если на сайте есть формы и нет HTTPS будут выдаватьcя предупреждения в Chrome
11 Twickbot 2729 9.9.2017, 12:45
автор: obmenbestru
Открытая тема (нет новых ответов) Требуется доработка формы заказа/обратной связи
0 Dinamitt 608 22.2.2017, 22:02
автор: Dinamitt


 



RSS Текстовая версия Сейчас: 14.12.2017, 1:14
Дизайн