Форум русской поддержки Joomla!® CMS
07.12.2016, 20:21:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как реализовать очистку полей формы после отправки?

 (Прочитано 365 раз)
0 Пользователей и 1 Гость смотрят эту тему.
intedant
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 96


« : 07.01.2016, 15:48:14 »

Есть форма которая корректно отправляет введенные данные, также по нажатию button submit открывается модальное окно с сообщением благодарности. Но все данные остаются в полях. Как сделать та что бы данные пропадали?
в качестве модуля использую SP Quick Contact
« Последнее редактирование: 07.01.2016, 15:51:15 от intedant » Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3586


« Ответ #1 : 07.01.2016, 15:51:23 »

Сделать перенаправление или очистить с помощью JavaScript.
Записан
intedant
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 96


« Ответ #2 : 07.01.2016, 16:55:41 »

а можно подробнее и как для мальчика дауна я вообще не знаю JS только начинаю курить все это
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-3
Offline Offline

Пол: Мужской
Сообщений: 1461


« Ответ #3 : 07.01.2016, 17:00:46 »

а можно подробнее и как для мальчика дауна я вообще не знаю JS только начинаю курить все это

А можно хотя бы ссылку на сайт?
Записан
intedant
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 96


« Ответ #4 : 07.01.2016, 17:01:15 »

Привожу код скрипта
ссылка на сайт  http://iordan.vklmedia.com/
Код:


var sp_sc = new Class(
{
    version : '1.0.0', Implements : [Options, Events], options : {},
    initialize : function (submit, options)
    {
        this.setOptions(options);
        this.submit_btn = document.id(submit);
        this.submit_btn.addEvent('click', function (e)
        {
            this.sendemail()
        }
        .bind(this))
    },
    checkEmail : function ()
    {
        var check = /^[\w\.\+-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,6}$/;
        if (!check.test(this.options.email.get('value'))) {
            return false
        }
        return true;
    },
    sendemail : function ()
    {
        var modId = this.options.modId;
        var yname = this.options.name.get('value');
        var yemail = this.options.email.get('value');
        var subject = this.options.subject.get('value');
        var ymessage = this.options.message.get('value');
        var status = this.options.status;
        var err_msg = this.options.err_msg;
        var email_warn = this.options.email_warn;
        var wait_text = this.options.wait_text;
        var failed_text = this.options.failed_text;
        if ((yname == '') || (yname == this.options.name_text)) {
            this.options.name.set("class", "sp_qc_error")
        }
        else {
            this.options.name.erase('class')
        }
        if ((yemail == '') || (yemail == this.options.email_text)) {
            this.options.email.set("class", "sp_qc_error")
        }
        else {
            this.options.email.erase('class')
        }
        if ((ymessage == '') || (ymessage == this.options.msg_text)) {
            this.options.message.set("class", "sp_qc_error")
        }
        else {
            this.options.message.erase('class')
        }
        if ((yname == '') || (yname == this.options.name_text) || (yemail == '') || (yemail == this.options.email_text) || (ymessage == '') || (ymessage == this.options.msg_text)) {
            status.innerHTML = '<p class="sp_qc_warn">' + err_msg + '</p>';
            return false
        }
        if (!this.checkEmail())
        {
            status.innerHTML = '<p class="sp_qc_warn">' + email_warn + '</p>';
            this.options.email.set("class", "sp_qc_error");
            return false
        }
        var param = "name=" + yname + "&email=" + yemail + "&subject=" + subject + "&message=" + ymessage + "&modId=" + modId;
        var sendmail = new Request(
        {
            url : this.options.ajax_url, method : 'get',
            onRequest : function ()
            {

                status.set('html', '<p class="sp_qc_loading">' + wait_text + '</p>')
            },
            onSuccess : function (responseText)
            {
jQuery.colorbox({html:"<h1>Спасибо за ваше обращение<br>В ближайшее время наш специалист с вами свяжется! </h1><br><h3>А теперь просто нажмите на любую часть экрана<br> исообщение закроется</h3>"});
                status.set('html', responseText)
            },
            onFailure : function ()
            {
                status.set('html', '<p class="sp_qc_warn">' + failed_text + '</p>')
            }
        }).send(param)
    }
});
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-3
Offline Offline

Пол: Мужской
Сообщений: 1461


« Ответ #5 : 07.01.2016, 17:02:53 »

А где именно там форма? Та, которая "Рассчитать тур"?
Записан
intedant
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 96


« Ответ #6 : 07.01.2016, 17:37:58 »

да
Записан
effrit
Группа развития
*****

Репутация: +731/-7
Online Online

Пол: Мужской
Сообщений: 6812


effrit.com


« Ответ #7 : 07.01.2016, 17:46:06 »

опять же, в блоке
Код:
onSuccess : function (responseText)
надо прописать очистку полей
Записан
effrit
Группа развития
*****

Репутация: +731/-7
Online Online

Пол: Мужской
Сообщений: 6812


effrit.com


« Ответ #8 : 07.01.2016, 17:52:52 »

кстати, не совсем правильно будет очищать все поля, по идее надо заново им значения дефолтные прописывать тогда уж,
иначе не понятно будет, что в них писать, т.к. там по дефолту выводится "Введите имя" и прочие подсказки
Записан
effrit
Группа развития
*****

Репутация: +731/-7
Online Online

Пол: Мужской
Сообщений: 6812


effrit.com


« Ответ #9 : 07.01.2016, 18:34:53 »

вот такая правка, если я все правильно написал, должна перезагрузить страницу, по идее, после закрытия окошка.
если не хочешь перезагружать - изучай js Azn
у тебя есть блок, который выполняется при успешной отправке, вот туда надо вписывать скрипт установки значений полей. это не сложно, но у тебя версия Joomla старая и мне это не интересно )

Код:
jQuery.colorbox({html:"<h1>Спасибо за ваше обращение<br>В ближайшее время наш специалист с вами свяжется! </h1><br><h3>А теперь просто нажмите на любую часть экрана<br> исообщение закроется</h3>",
onClosed:function(){
window.location.reload()
}
});
« Последнее редактирование: 07.01.2016, 18:39:07 от effrit » Записан
intedant
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 96


« Ответ #10 : 07.01.2016, 19:06:23 »

не сработало ( страница не перезагружается и текст введенный остается
Записан
effrit
Группа развития
*****

Репутация: +731/-7
Online Online

Пол: Мужской
Сообщений: 6812


effrit.com


« Ответ #11 : 07.01.2016, 19:20:39 »

вот так попробуй перепиши строку. по крайней мере, сама по себе она работает ))
Код:
window.location.reload(true);
Записан
intedant
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 96


« Ответ #12 : 07.01.2016, 19:43:46 »

Код:
jQuery.colorbox({html:"<h1>Спасибо за ваше обращение<br>В ближайшее время наш специалист с вами свяжется! </h1><br><h3>А теперь просто нажмите на любую часть экрана<br> исообщение закроется</h3>",
onClosed:function(){
window.location.reload(true);
}
});
вот этот код заставляет сайт тупить + перестает открываться модальное окно но поля так и не очищаются
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet