script.js
6.64 KB
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
$(document).ready(
function ()
{
$('#fenix_garantii form').on(
'submit.fenix',
function (event)
{
var action = $(this).attr('action');
$.ajax(
{
method: 'POST',
url: action,
data: $( this ).serialize(),
context: $( this ),
beforeSend: function(xhr){
$(this).find('.form-preloader').removeClass('d-none');
},
success: function ( data, textStatus, jqXHR )
{
var error_text = [];
$(jqXHR.responseText).filter('.wp-die-message').each(
function ()
{
error_text.push($(this).text());
}
);
if (error_text.length>0)
$('#alertModalBody').html(error_text.join());
else
{
var text_alert = '';
switch($(this).attr('id'))
{
case 'form_consult': text_alert = '<p class="m-0">Ваше обращение принято на рассмотрение!</p>'; break;
default: text_alert = '<p class="m-0">Спасибо за отзыв!</p>'; break;
}
$('#alertModalBody').html(text_alert);
$(this).find('input[type="checkbox"]').prop('checked', false);
$(this).find('input[type="text"]').val('');
$(this).find('input[type="email"]').val('');
$(this).find('textarea').val('');
}
},
error: function ( jqXHR, textStatus, errorThrown )
{
var error_text = [];
$(jqXHR.responseText).filter('.wp-die-message').each(
function ()
{
error_text.push($(this).text());
}
);
$('#alertModalBody').html(
'<p class="m-0">'+
(
error_text.length==0?
'Ошибка отправки данных.':
error_text.join()
)+
'</p>'
);
},
complete: function( jqXHR, textStatus )
{
$('.captcha-refrash').trigger('click.fenix');
$(this).find('.form-preloader').addClass('d-none');
$(this).removeClass('was-validated');
$('#alertModal').modal('show');
}
}
);
event.preventDefault();
return false;
}
);
// Получите все формы, к которым мы хотим применить пользовательские стили проверки Bootstrap
var forms = document.querySelectorAll('.needs-validation')
// Зацикливайтесь на них и предотвращайте отправку
Array.prototype.slice.call(forms).forEach(
function (form)
{
form.addEventListener(
'submit',
function (event)
{
if (!form.checkValidity())
{
event.preventDefault()
event.stopPropagation()
}
form.classList.add('was-validated')
},
false
);
}
);
//Маска ввода телефона
$('input[name="phone"]').inputmask({"mask": "+7 (999) 999-99-99"});
function fenix_calc (el_wrap)
{
if (el_wrap.length>0)
{
var calc_inv = parseInt(el_wrap.find('input[name="calc_inv"]').val());
var calc_s = parseInt(el_wrap.find('input[name="calc_s"]').val());
var calc_rashod = parseInt(el_wrap.find('input[name="calc_rashod"]').val());
var resut_value = (calc_inv - calc_rashod)*calc_s/50;
el_wrap.find('.calc_result_value').text((resut_value).toLocaleString('ru'));
}
}
$(document).on(
'click.fenix',
'.fenix_calc .calc_btn',
function ()
{
fenix_calc($(this).closest('.fenix_calc'));
}
);
}
);