PageSourceSearch

https://www.cyclewerks.com/wp-content/plugins/automotive/js/contact_form.js?ver=18.8

js cyclewerks.com collected 2026-09-30 19:17:07 UTC 3,877 bytes, 99 lines download raw bytes

1 jQuery(document).ready(function($) {
2    $(document).on('click', ".submit_contact_form", function(e) {
3        e.preventDefault();
4
5        var $parent = $(this).parent();
6
7        // collect input field values
8        var userName    = $parent.find("input[name='name']").val();
9        var userEmail   = $parent.find("input[name='email']").val();
10        var userMessage = $parent.find("textarea[name='message']").val();
11        var isRecaptcha = $parent.find('#contact_form_recaptcha').length;
12
13        console.log('parent', $parent, isRecaptcha);
14
15        // simple validation at client's end
16        // we simply change border color to red if empty field using .css()
17        var proceed = true;
18
19        if($parent.find(".gdpr_label").length){
20          if(!$parent.find("input[name='gdpr']").is(":checked")){
21            $parent.find(".gdpr_label").css("border", "1px solid red");
22            proceed = false;
23          } else {
24            $parent.find(".gdpr_label").removeAttr("style");
25          }
26        }
27
28        if(userName==""){
29            $parent.find("input[name='name']").css("border", "1px solid red");
30            proceed = false;
31        } else {
32    			$parent.find("input[name='name']").removeAttr("style");
33    		}
34
35        if(userEmail==""){
36            $parent.find("input[name='email']").css("border", "1px solid red");
37            proceed = false;
38        } else {
39    			$parent.find("input[name='email']").removeAttr("style");
40    		}
41
42        if(userMessage=="") {
43            $parent.find("textarea[name='message']").css("border", "1px solid red");
44            proceed = false;
45        } else {
46    			$parent.find("textarea[name='message']").removeAttr("style");
47    		}
48
49        if(typeof listing_ajax.contact_gdpr_form !== 'undefined' && $parent.find('input[name="gdpr"]').length){
50          var $gdprCheckbox = $parent.find('input[name="gdpr"]');
51
52          if(!$gdprCheckbox.is(":checked")){
53            proceed = false;
54            $gdprCheckbox.closest('.gdpr-control').css('border', '1px solid #F00');
55          } else {
56            $gdprCheckbox.closest('.gdpr-control').attr('style', '');
57          }
58        }
59
60        // everything looks good! proceed...
61        if(proceed) {
62            // data to be sent to server
63            var post_data = {'userName':userName, 'userEmail':userEmail, 'userMessage':userMessage, 'action':'send_contact_form'};
64
65            if(isRecaptcha){
66              var $recaptchaResponseField = $("#g-recaptcha-response");
67
68              console.log('challenge', $recaptchaResponseField);
69
70              post_data.challenge = $recaptchaResponseField.val();
71            }
72
73            // ajax post data to server
74            $.post(ajax_variables.ajaxurl, post_data, function(data){
75
76                // load success massage in #result div element, with slide effect.
77                if(data.success == "yes"){
78                    $parent.find(".contact_result").hide().html('<div class="success">'+data.message+'</div>').slideDown();
79
80                    // reset values in all input fields
81                    $parent.find('input[type="text"]').val('');
82				            $parent.find('input[type="email"]').val('');
83                    $parent.find('textarea').val('');
84                } else {
85                    $parent.find(".contact_result").hide().html('<div class="error">'+data.message+'</div>').slideDown();
86                }
87
88            }).fail(function(err) {
89                $parent.find(".contact_result").hide().html('<div class="error">'+err.statusText+'</div>').slideDown();
90            });
91        }
92
93        setTimeout(function(){
94            $parent.find("input, textarea").css('border-color','');
95            $parent.find(".contact_result").slideUp();
96        }, 3000);
97    });
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.