PageSourceSearch

https://blunavytraghetti.com/wp-content/themes/cosmo/assets/js/form/send-coupon.js?ver=1775745451

js blunavytraghetti.com collected 2026-09-24 12:35:19 UTC 5,408 bytes, 129 lines download raw bytes

1jQuery(document).ready(function ($) {
2
3    // Controllo se esiste bn-send-coupon
4    if(document.querySelector('#bn-send-coupon')){
5        
6        // Ciclo per tutti gli input del form aggiungendo l'evento invalid e dando la classe invalid
7        document.querySelectorAll('#bn-send-coupon input, #bn-send-coupon select').forEach(function(input) {
8            input.addEventListener('invalid', (e) => {
9                const curInput = e.target;
10                curInput.classList.add('invalid');
11            });
12        
13            input.addEventListener('input', (e) => {
14                const curInput = e.target;
15                if (curInput.checkValidity()) {
16                    curInput.classList.remove('invalid');
17                }
18            });
19        });
20        
21        // Mi aggancio all'evento submit del form
22        document.querySelector('#bn-send-coupon').addEventListener('submit', function(e) {
23            e.preventDefault();
24
25            // Recupero il form
26            var form = e.target;
27
28            // Preparo l'url per la chiamata ajax e i dati da inviare
29            var siteurl = WPURLS.siteurl;
30            var ajaxurl = siteurl + '/wp-admin/admin-ajax.php?action=bn_send_coupon';
31            var formData = new FormData(form);
32
33            // Eseguo la chiamata ajax, mentre la chiamata è in corso cambio il testo del pulsante di submit
34            $.ajax({
35                type: 'POST',
36                dataType: 'json',
37                url: ajaxurl,
38                data: formData,
39                contentType: false,
40                processData: false,
41                cache: false,
42
43                success: function (data) {
44                    console.log(data);
45
46                    // Se in data success è true, allora mostro il messaggio di successo in form-notification
47                    if(data.success) {
48                        form.querySelector('.form-notification').textContent = data.message;
49                        
50                        form.querySelector('.form-notification').classList.remove('error');
51                        form.querySelector('.form-notification').classList.add('success');
52                        form.querySelector('.form-notification').classList.add('show');
53                        
54                    } else {
55                        // Se in data success è false, mostro il messaggio di errore
56                        form.querySelector('.form-notification').textContent = data.message;
57                        form.querySelector('.form-notification').classList.remove('success');
58                        form.querySelector('.form-notification').classList.add('error');
59                        form.querySelector('.form-notification').classList.add('show');
60                        //console.log(data);
61                    }
62
63                },
64                error: function(data) {
65                    // Se la chiamata ha errori, mostro il messaggio di errore
66                    console.log(data);
67                    form.querySelector('.form-notification').textContent = data.message;
68                    form.querySelector('.form-notification').classList.remove('success');
69                    form.querySelector('.form-notification').classList.add('error');
70                    form.querySelector('.form-notification').classList.add('show');
71                },
72                complete: function() {
73                    setTimeout(function() {
74                        form.querySelector('.form-notification').classList.remove('show');
75                        form.querySelector('.form-notification').classList.remove('success');
76                        form.querySelector('.form-notification').classList.remove('error');
77                        form.querySelector('.form-notification').textContent = '';
78                    }, 5000);
79                }
80
81            });
82
83        });
84
85    }
86
87    // Controllo se esiste bn-upload-reclamo
88    /*if(document.querySelector('#bn-upload-reclamo')) {
89        document.querySelector('#bn-upload-reclamo').addEventListener('submit', function(e) {
90            e.preventDefault();
91    
92            // Recupero il form
93            var form = e.target;
94    
95            // Preparo l'url per la chiamata ajax e i dati da inviare
96            var siteurl = WPURLS.siteurl;
97            var ajaxurl = siteurl + '/wp-admin/admin-ajax.php?action=bn_upload_reclamo';
98            var formData = new FormData(form);
99    
100            // Eseguo la chiamata ajax
101            $.ajax({
102                type: 'POST',
103                dataType: 'json',
104                url: ajaxurl,
105                data: formData,
106                contentType: false,
107                processData: false,
108                cache: false,
109                success: function(data){
110    
111                    // Se in data success è true, allora reindirizzo alla pagina del reclamo
112                    if(data.success){
113                        window.location.href = data.redirect;
114                    } else {
115                        // Se in data success è false, mostro il messaggio di errore
116                        console.log(data);
117                    }
118    
119                },
120                error: function(data){
121                    // Se la chiamata ha errori, mostro il messaggio di errore
122                    console.log(data);
123                }
124    
125            });
126        });
127    }*/
128    
129});

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.