I have seen good script but using $ as main element:
<script>
(function($) {
$(document).ready(function() {
$('form :input').blur(function () {
if($(this).val().length > 0 && !($(this).hasClass('completed'))) {
dataLayer.push({'eventCategory': 'Form - ' + $(this).closest('form').attr('name'),
'eventAction': 'completed',
'eventLabel': $(this).attr('name'),
'event': 'gaEvent'});
$(this).addClass('completed');
}
else if(!($(this).hasClass('completed')) && !($(this).hasClass('skipped'))) {
dataLayer.push({'eventCategory': 'Form - ' + $(this).closest('form').attr('name'),
'eventAction': 'skipped',
'eventLabel': $(this).attr('name'),
'event': 'gaEvent'});
$(this).addClass('skipped');
}
});
});
})(jQuery);
</script>
Is this transformation correct?
(function(jQuery) {
jQuery(document).ready(function() {
jQuery('form :input').blur(function () {
if(jQuery(this).val().length > 0 && !(jQuery(this).hasClass('completed'))) {
dataLayer.push({'eventCategory': 'Form - ' + jQuery(this).closest('form').attr('name'),
'eventAction': 'completed',
'eventLabel': jQuery(this).attr('name'),
'event': 'gaEvent'});
jQuery(this).addClass('completed');
}
else if(!(jQuery(this).hasClass('completed')) && !($(this).hasClass('skipped'))) {
dataLayer.push({'eventCategory': 'Form - ' + jQuery(this).closest('form').attr('name'),
'eventAction': 'skipped',
'eventLabel': jQuery(this).attr('name'),
'event': 'gaEvent'});
jQuery(this).addClass('skipped');
}
});
});
})(jQuery);