Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Нужна помощь в разборе скрипта (https://javascript.ru/forum/jquery/67397-nuzhna-pomoshh-v-razbore-skripta.html)

greenteamneo 15.02.2017 18:10

Нужна помощь в разборе скрипта
 
Добрый день!
Есть такой код, но я новичек и застрял на нем. Не могу понять, что он делает. Знаю, что в форме обратной связи джаваскрипт добавляет скрытое поле и постоянно меняет значение name= , но что конкретно он делает и для чего нужен не понятно. Без разбора этого кода не могу двигаться дальше по заданию

$(document).ready(function () {
$('input[name=name]').after('<input type="hidden" id="ts_check" name="ts_check" value="00000000000000000000000000000000">'),
$('#hasJS').remove();
var e,
t = new Date;
t = parseInt(t.getTime() / 1000),
setInterval(function () {
var n = new Date;
if (n = parseInt(n.getTime() / 1000), n != e) {
e = n;
var a,
r,
i = '',
o = (e - t).toString(16);
for (a = 0; 29 > a; a++) r = Math.floor(16 * Math.random()),
i += r.toString(16);
1 == o.length ? i += '00' : 2 == o.length && (i += '0'),
i += o,
$('#ts_check').val(i)
}
}, 1000)
});

greenteamneo 15.02.2017 18:29

А вот второй файл, я в jquery вообще не силен. Может кто-то внятно объяснить суть происходящего?
var domain = window.location.hostname;
var already = {
startFilling: false,
mistakeFilling: false,
successFilling: false
};

var feed = {
submit: function(e, elem, field) {

var form = $(elem);

var phone = form.find('[name=phone]').val();
var name = form.find('[name=name]').val();

$('.errorMessage').remove();

var rephone = /^[0-9\-\+\(\) ]*$/i;

if(!name.length || name.length < 3){
e.preventDefault();
return feed.errorMessage(form.find('[name=name]'), 'Вы не представились', field);
}

if(!phone.length || phone.length < 5){
e.preventDefault();
return feed.errorMessage(form.find('[name=phone]'), 'Вы не заполнили поле "Телефон"', field);
}

if(!rephone.test(phone)){
e.preventDefault();
return feed.errorMessage(form.find('[name=phone]'), 'Неверно заполнено поле "Телефон"', field);
}

feed.reachGoal("successFilling");
},

errorMessage: function(elem, msg, field) {

if (field.length) {
field.text(msg).slideDown(300);
} else {
$('<div class="errorMessage">' + msg + '</div>').appendTo('body').css({
'left': $(elem).offset().left,
'top': $(elem).offset().top + 30
});
}

feed.reachGoal("mistakeFilling");

return false;
},

reachGoal: function(goal) {
try {
var params = {};
params[domain] = goal;

if(already[goal] != true) {
yaCounter22765945.reachGoal("formFilling", params);
already[goal] = true;
}
} catch(e) {}
}
};

$(document).ready(function(){
$('.orderformcdn').on('submit', function(e){
var $errField = $(this).find('.errField');
feed.submit(e, this, $errField);
});

$('input[type="text"]').on('focus', function(){
$('.errorMessage').remove();
$('.errField').slideUp();
feed.reachGoal("startFilling");
});


});


Часовой пояс GMT +3, время: 16:36.