Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 30.05.2015
Сообщений: 22

Непонятки с переменными

01.06.2015, 20:28. Показов 1236. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Я вообще в тупике.
Имеется код JS прописан в модуле joomla.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$(".submit-form").submit(function (a) {
    
    a.preventDefault();
    var c = $(".submit-form"),
        d = $(".submit-success"),
        e = $(this).find(".phone"),
        f = $(this),
        g = e.val().substring(0, 18);
    
    if (void 0 !== g && "" !== g && -1 === g.search(/_/)) { 
        $.post("submit.php", {
                phone: g
            },
            function(data){
                c.addClass("submit-form-hide");
                setTimeout(function () {
                    c.css("display", "none")
                }, 1e3);
                setTimeout(function () {
                    d.css("display", "block"), setTimeout(function () {
                        d.addClass("submit-success-show")
                    }, 100)
                }, 1e3);
                //console.log(data);
            }
        );//$.post  
    }
    else {
        c.find(".phone").effect("shake");
    }   
})
Дело вот в чем. На сайте имеется кнопка заказать обратный звонок. При нажатий на кнопку вызывается обработчик, за него отвечает код, который выше. Человек вводит цифры и нажимает заказать, но этот обработчик начинает работать, только если человек успел ввести цифры и нажать на кнопку за несколько секунд, пока загружается страница сайта, если он нажмет на кнопку после 4-5 секунд, после открытия страницы скрипт не сработает.
После долгих мучений, первопричина была обнаружена в переменных:
JavaScript
1
2
3
4
5
var c = $(".submit-form"),
        d = $(".submit-success"),
        e = $(this).find(".phone"),
        f = $(this),
        g = e.val().substring(0, 18);
если я добавлю alert с каким либо сообщением после переменных он не сработает, но если поставлю его до них, то он сработает, независимо времени за которое посетитель нажмет на кнопку.
Блин, что делать?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2015, 20:28
Ответы с готовыми решениями:

Непонятки с переменными
Помогите. Не могу понять в чем дело c переменными. volatile unsigned int mmm; mmm=55321; char buffer ; ...

Непонятки с переменными
КОД: package com.company; import java.util.Scanner; public class Main { public static void main(String args) { // write...

непонятки с for
Издавна мучает вопрос почему некоторые используют в цикле for ( int i = n; i < m ; i++), а другая часть населения for ( int i = n; i <...

4
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
01.06.2015, 23:10
Возможно конфликт jquery и ещё чего-нибудь, что тоже $ любит называться (mootools, например). Показывайте больше информации, какие библиотеки на сайт подгружаются, попробуйте использовать noConflict версии, или просто в этом коде все вызовы jQuery через $ поменяйте на jQuery
0
0 / 0 / 1
Регистрация: 30.05.2015
Сообщений: 22
02.06.2015, 03:01  [ТС]
подгружаемые библиотеки:
/js/jquery.1.11.2.min.js
jquery-ui.min.js
Еще есть один подгружаемый файл
его содержимое:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*
 Masked Input plugin for jQuery
 Copyright (c) 2007-2013 Josh Bush (digitalbush.com)
 Licensed under the MIT license ([url]http://digitalbush.com/projects/masked-input-plugin/#license[/url])
 Version: 1.3.1
 */
 
 
(function (e) {
    function t() {
        var e = document.createElement("input"), t = "onpaste";
        return e.setAttribute(t, ""), "function" == typeof e[t] ? "paste" : "input"
    }
 
    var n, a = t() + ".mask", r = navigator.userAgent, i = /iphone/i.test(r), o = /android/i.test(r);
    e.mask = {definitions: {9: "[0-9]", a: "[A-Za-z]", "*": "[A-Za-z0-9]"}, dataName: "rawMaskFn", placeholder: "_"}, e.fn.extend({caret: function (e, t) {
        var n;
        if (0 !== this.length && !this.is(":hidden"))return"number" == typeof e ? (t = "number" == typeof t ? t : e, this.each(function () {
            this.setSelectionRange ? this.setSelectionRange(e, t) : this.createTextRange && (n = this.createTextRange(), n.collapse(!0), n.moveEnd("character", t), n.moveStart("character", e), n.select())
        })) : (this[0].setSelectionRange ? (e = this[0].selectionStart, t = this[0].selectionEnd) : document.selection && document.selection.createRange && (n = document.selection.createRange(), e = 0 - n.duplicate().moveStart("character", -1e5), t = e + n.text.length), {begin: e, end: t})
    }, unmask: function () {
        return this.trigger("unmask")
    }, mask: function (t, r) {
        var c, l, s, u, f, h;
        return!t && this.length > 0 ? (c = e(this[0]), c.data(e.mask.dataName)()) : (r = e.extend({placeholder: e.mask.placeholder, completed: null}, r), l = e.mask.definitions, s = [], u = h = t.length, f = null, e.each(t.split(""), function (e, t) {
            "?" == t ? (h--, u = e) : l[t] ? (s.push(RegExp(l[t])), null === f && (f = s.length - 1)) : s.push(null)
        }), this.trigger("unmask").each(function () {
            function c(e) {
                for (; h > ++e && !s[e];);
                return e
            }
 
            function d(e) {
                for (; --e >= 0 && !s[e];);
                return e
            }
 
            function m(e, t) {
                var n, a;
                if (!(0 > e)) {
                    for (n = e, a = c(t); h > n; n++)if (s[n]) {
                        if (!(h > a && s[n].test(R[a])))break;
                        R[n] = R[a], R[a] = r.placeholder, a = c(a)
                    }
                    b(), x.caret(Math.max(f, e))
                }
            }
 
            function p(e) {
                var t, n, a, i;
                for (t = e, n = r.placeholder; h > t; t++)if (s[t]) {
                    if (a = c(t), i = R[t], R[t] = n, !(h > a && s[a].test(i)))break;
                    n = i
                }
            }
 
            function g(e) {
                var t, n, a, r = e.which;
                8 === r || 46 === r || i && 127 === r ? (t = x.caret(), n = t.begin, a = t.end, 0 === a - n && (n = 46 !== r ? d(n) : a = c(n - 1), a = 46 === r ? c(a) : a), k(n, a), m(n, a - 1), e.preventDefault()) : 27 == r && (x.val(S), x.caret(0, y()), e.preventDefault())
            }
 
            function v(t) {
                var n, a, i, l = t.which, u = x.caret();
                t.ctrlKey || t.altKey || t.metaKey || 32 > l || l && (0 !== u.end - u.begin && (k(u.begin, u.end), m(u.begin, u.end - 1)), n = c(u.begin - 1), h > n && (a = String.fromCharCode(l), s[n].test(a) && (p(n), R[n] = a, b(), i = c(n), o ? setTimeout(e.proxy(e.fn.caret, x, i), 0) : x.caret(i), r.completed && i >= h && r.completed.call(x))), t.preventDefault())
            }
 
            function k(e, t) {
                var n;
                for (n = e; t > n && h > n; n++)s[n] && (R[n] = r.placeholder)
            }
 
            function b() {
                x.val(R.join(""))
            }
 
            function y(e) {
                var t, n, a = x.val(), i = -1;
                for (t = 0, pos = 0; h > t; t++)if (s[t]) {
                    for (R[t] = r.placeholder; pos++ < a.length;)if (n = a.charAt(pos - 1), s[t].test(n)) {
                        R[t] = n, i = t;
                        break
                    }
                    if (pos > a.length)break
                } else R[t] === a.charAt(pos) && t !== u && (pos++, i = t);
                return e ? b() : u > i + 1 ? (x.val(""), k(0, h)) : (b(), x.val(x.val().substring(0, i + 1))), u ? t : f
            }
 
            var x = e(this), R = e.map(t.split(""), function (e) {
                return"?" != e ? l[e] ? r.placeholder : e : void 0
            }), S = x.val();
            x.data(e.mask.dataName, function () {
                return e.map(R,function (e, t) {
                    return s[t] && e != r.placeholder ? e : null
                }).join("")
            }), x.attr("readonly") || x.one("unmask",function () {
                x.unbind(".mask").removeData(e.mask.dataName)
            }).bind("focus.mask",function () {
                clearTimeout(n);
                var e;
                S = x.val(), e = y(), n = setTimeout(function () {
                    b(), e == t.length ? x.caret(0, e) : x.caret(e)
                }, 10)
            }).bind("blur.mask",function () {
                y(), x.val() != S && x.change()
            }).bind("keydown.mask", g).bind("keypress.mask", v).bind(a, function () {
                setTimeout(function () {
                    var e = y(!0);
                    x.caret(e), r.completed && e == x.val().length && r.completed.call(x)
                }, 0)
            }), y()
        }))
    }})
})(jQuery);
Пробовал заменить $ на document.getElementById();
0
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
02.06.2015, 11:16
Лучший ответ Сообщение было отмечено Miliandr как решение

Решение

Цитата Сообщение от Miliandr Посмотреть сообщение
Пробовал заменить $ на document.getElementById();
Это не то, попробуйте $ на jQuery заменить
1
0 / 0 / 1
Регистрация: 30.05.2015
Сообщений: 22
03.06.2015, 23:02  [ТС]
Ага, спасибо JokerNN. +1 тебе. Вот исправленный код:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<script>
  var c = 0;
  var d = 0;
  var e = 0;
  var f = 0;
  var g = 0;
jQuery(".submit-form").submit(function (a) {
  a.preventDefault();
        c = jQuery(".submit-form");
        d = jQuery(".submit-success");
        e = jQuery(this).find(".phone");
        f = jQuery(this);
        g = e.val().substring(0, 18);
    if (void 0 !== g && "" !== g && -1 === g.search(/_/)) { 
        jQuery.post("submit.php", {
                phone: g
            },
            function(data){
                c.addClass("submit-form-hide");
                setTimeout(function () {
                    c.css("display", "none")
                }, 1e3);
                setTimeout(function () {
                    d.css("display", "block"), setTimeout(function () {
                        d.addClass("submit-success-show")
                    }, 100)
                }, 1e3);
                //console.log(data);
            }
        );//$.post  
    }
    else {
    
        c.find(".phone").effect("shake");
    }   
})
</script>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.06.2015, 23:02
Помогаю со студенческими работами здесь

непонятки
Итак... есть, к примеру, два интересующих меня запроса: ротбанд (1282) бетоконтакт (171) по первому запросу я в Я на 14...

Непонятки...
Ситуация такая, начал двигать свой первый англоязычный сайт в гугле. До этого на этом домене была русская версия этого сайта. С момента...

непонятки с GET - ом
товарищи здаров! Скажите пожалста есть ли разница, что вводится в массив GET. столкнулся с такой вещью - по ссылке открываю полный...

Непонятки с S.M.A.R.T
Доброе время суток. У меня вопросы касательно сразу 2-х жестких дисков. 1.Внешний HDD. Не определялся. Вынул его из бокса, подключил...

Непонятки с GET
Добрый день! Есть кусок кода &lt;script&gt; var xmlhttp = new XMLHttpRequest(); xmlhttp.open(&quot;GET&quot;, 'http://xxxx:8000/50x.html',...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru