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



 

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

Открыть тему
Тема закрыта
> Проверка iquery текста
andreykashops
andreykashops
Topic Starter сообщение 2.5.2013, 15:07; Ответить: andreykashops
Сообщение #1


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Приветствую!

Значит есть форма, которая всплывает при нажатии на кнопку.
После заполнения и отправки выдается результат ввиде текста.
Задумка, если текст, выведенный в блоке с классом wpcf7-response-output имеет текст: "Ваш запрос отправлен, мы свяжемся с Вами в ближайшее время" - закрыть форму через 3,5 сек.
Я в JS еще не мастер, но вот кое что набросал:
$(document).ready(function() {
    $('#wpsclicscr').click(function (e) {
        var as = $('.wpcf7-response-output').html();
        if( as = 'Ваш запрос отправлен, мы свяжемся с Вами в ближайшее время' ){
            setTimeout(function() {
                e.preventDefault();
                $('#mask, .window').hide();  
            }, 3500)
        }
    });
});


В скрипте проблема, что закрытие происходит в любом случае, то есть не работает проверка текста...

Сайт
Развернуть/Свернуть
http://scsistema.ru/

Кнопка "Заказать звонок"


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 2.5.2013, 15:16; Ответить: devuser
Сообщение #2


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

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


Проверка равенства - двойное равно

if( as == 'Ваш запрос отправлен, мы свяжемся с Вами в ближайшее время' )


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


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


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


devuser, проверка теперь работает, спасибо!

Но новая проблема, не успевает текст загрузится до его получения в переменную as...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 2.5.2013, 15:40; Ответить: devuser
Сообщение #4


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

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


http://scsistema.ru/wp-content/plugins/con...ipts.js?ver=3.4

Тут в самом конце есть
$.fn.wpcf7FillResponseOutput = function(message) {
        return this.each(function() {
            $(this).find('div.wpcf7-response-output').append(message).slideDown('fast');
        });
    };


Попробуйте
$.fn.wpcf7FillResponseOutput = function(message) {
        return this.each(function() {
            $(this).find('div.wpcf7-response-output').append(message).slideDown('fast');
            if (message == 'Ваш запрос отправлен, мы свяжемся с Вами в ближайшее время') {
                setTimeout(function() {
                    $('#mask, .window').hide();  
                }, 3500);
            }
        });
    };


Сообщение отредактировал devuser - 2.5.2013, 15:41


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


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


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


devuser, данный скрипт не хочет работать sad.gif
Я пробовал без проверки текста, то есть вот так:
$.fn.wpcf7FillResponseOutput = function(message) {
        return this.each(function() {
            $(this).find('div.wpcf7-response-output').append(message).slideDown('fast');
                setTimeout(function() {
                    $('#mask, .window').hide();  
                }, 3500);
        });
    };

То есть без проверки на наличие текста - тоже не работает.

PS Может я не правильно держу логику, тогда поправьте меня...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 2.5.2013, 22:36; Ответить: devuser
Сообщение #6


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

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


Да, действительно, это я накосячил, сори. Не заметил return

Вот так попробуйте

$.fn.wpcf7FillResponseOutput = function(message) {
        setTimeout(function() {
            $('#mask, .window').hide();  
        }, 3500);
        return this.each(function() {
            $(this).find('div.wpcf7-response-output').append(message).slideDown('fast');
        });
};


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


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


devuser, сейчас копался сам и понял о чем Вы, теперь все работает, спасибо! smile.gif
Прошлый код работает, просто я его не туда вставил ))

Сообщение отредактировал andreykashops - 2.5.2013, 23:42


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 2.5.2013, 23:58; Ответить: devuser
Сообщение #8


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

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


Пожалуйста. Но ваш подход в корне неправильный. Я не стал вас переубеждать, но все же. Если вы измените текст сообщения - все отвалится ведь smile.gif

Насколько я понял, можно впихнуть этот код сюда

if (1 == data.mailSent)
    $(data.into).find('form').resetForm().clearForm();


Это 78я строка в том самом файле.
Чтобы получилась конструкция вида

if (1 == data.mailSent) {
    $(data.into).find('form').resetForm().clearForm();
    setTimeout(function() {
        $('#mask, .window').hide();  
    }, 3500);
}



И проверок никаких не надо, если я правильно определил место, куда нужно вставить.
Попробуйте, мой вам совет.

Сообщение отредактировал devuser - 2.5.2013, 23:59


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


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


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


devuser, если разница всего лишь в тексте - все нормально smile.gif
Сложность только в том, что нужно отличить сообщение о положительно результате от ошибочного, а сообщений там около десятка...


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСервис Тургенев: проверка текстов на фильтр «Баден-Баден»
kaverina80.ru - блог копирайтера
0 kaverima80 361 15.12.2017, 9:09
автор: kaverima80
Горячая тема (нет новых ответов) Главная страница сайта.Больше текста или фото?
98 PROK777 16660 11.12.2017, 15:57
автор: vsemmoney
Горячая тема (нет новых ответов) проверка уникальности
102 galaker 6631 11.12.2017, 15:38
автор: Seolinkerman
Открытая тема (нет новых ответов) Проверка посещаемости и другие сервисы
5 project33 1863 4.12.2017, 19:42
автор: project33
Горячая тема (нет новых ответов) Проверка позиций сайтов в поисковых системах с помощью Positon.ru
Мониторинг продвижения сайтов
109 Positon 74573 15.11.2017, 11:59
автор: Positon


 



RSS Текстовая версия Сейчас: 18.12.2017, 7:18
Дизайн