PageSourceSearch

https://kuplu-mazda.ru/wp-content/themes/mazda/js/comments.js

js kuplu-mazda.ru collected 2026-10-04 19:02:48 UTC 4,178 bytes, 99 lines download raw bytes

1jQuery.extend(jQuery.fn, {
2	/*
3	 * функция проверки, что длина поля не меньше 3х символов 
4	 */
5	checka: function () {
6		if (jQuery(this).val().length < 3) {jQuery(this).addClass('error');return false} else {jQuery(this).removeClass('error');return true}
7	},
8	/*
9	 * функция проверки правильности введенного email
10	 */
11	checke: function () {
12		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
13		var emailaddressVal = jQuery(this).val();
14		if (!emailReg.test(emailaddressVal) || emailaddressVal == "") {
15			jQuery(this).addClass('error');return false
16		} else {
17			jQuery(this).removeClass('error');return true
18		}
19	},
20});
21 
22jQuery(function($){
23	$('.comment-reply-link').click(function(){
24		$('#respond #new_comment_rating').hide();
25	});
26
27	$('#cancel-comment-reply-link').click(function(){
28		$('#respond #new_comment_rating').show();
29	});
30
31	$('#commentform').submit(function(){
32        // 0т cnама
33        if($("#mail-field").val() != '') return false;
34		// может такое случиться, что пользователь залогинен - нужно это проверить, иначе валидация не пройдет
35		if($("#author").length) var author = $("#author").checka();
36		if($("#email").length) var email = $("#email").checke();
37		var comment = $("#comment").checka();
38		// небольшое условие для того, чтобы исключить двойные нажатия на кнопку отправки
39		// в это условие также входит валидация полей
40		if (!$('#submit').hasClass('loadingform') && !$("#author").hasClass('error') && !$("#email").hasClass('error') && !$("#comment").hasClass('error')){
41			$.ajax({
42				type : 'POST',
43				url : '//' + location.host + '/wp-admin/admin-ajax.php',
44				data: $(this).serialize() + '&action=ajaxcomments',
45				beforeSend: function(xhr){
46					// действие при отправке формы, сразу после нажатия на кнопку #submit 
47					$('#submit').addClass('loadingform').val('Загрузка');
48				},
49				error: function (request, status, error) {
50					if(status==500){
51						alert('Ошибка при добавлении комментария');
52					} else if(status=='timeout'){
53						alert('Ошибка: Сервер не отвечает, попробуй ещё.');
54					} else {
55						// ворпдрессовские ошибочки, не уверен, что это самый оптимальный вариант
56						// если знаете способ получше - поделитесь
57						var errormsg = request.responseText;
58						var string1 = errormsg.split("<p>");
59						var string2 = string1[1].split("</p>");
60						alert(string2[0]);
61					}
62				},
63				success: function (newComment) {
64					// Если уже есть какие-то комментарии
65					if ($('#comments ol').length > 0){
66						// Если текущий комментарий является ответом
67						var pid = $('#respond #comment_parent').val();
68						if (pid > 0){
69							var pcom = $('#comment-' + pid);
70							var ol = pcom.find('ol.children');
71							if (ol.length)
72								ol.append(newComment);
73							else{
74								var t = '<ol class="children">' + newComment + '</ol>';
75								pcom.find('.card-block').append(t);
76							}
77							// закрываем форму ответа
78							$("#cancel-comment-reply-link").trigger("click");
79						} else {
80							// обычный коммент
81							$('#comments ol').append(newComment);
82						}
83					}else{
84						// если комментов пока ещё нет, тогда
85						newComment = '<ol class="medias py-md-5 my-md-5 px-sm-0 mx-sm-0">' + newComment + '</ol>';
86						$('#respond').before($(newComment));
87					}
88					// очищаем поле textarea
89					$('#comment').val('');
90				},
91				complete: function(){
92					// действие, после того, как комментарий был добавлен
93					$('#submit').removeClass('loadingform').val('Отправить');
94				}
95			});
96		}
97		return false;
98	});
99});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.