PageSourceSearch

https://wesselsimmobilien.de/wp-content/plugins/e-unit-contact-for…/assets/ecfb-form.js?ver=1791350447

js wesselsimmobilien.de collected 2026-10-07 05:21:11 UTC 5,182 bytes, 166 lines download raw bytes

1$(function () {
2
3
4    $('.ecfb-form').each(function () {
5
6        let form = $(this);
7
8        let current = 0;
9
10
11        $.validator.addMethod("required-field", function (value, element) {
12            let $element = $(element)
13            console.log($element)
14            let validator = this;
15
16            function match(index) {
17                let parent = '[data-step="' + (index + 1) + '"]';
18                return current == index && $(element).parents(parent).length;
19            }
20
21            $('[data-step]').each(function (i) {
22                if (match(i)) return !validator.optional(element);
23            })
24
25            return "dependency-mismatch";
26        }, $.validator.messages.required)
27
28        let v = form.validate({
29            debug: true,
30            errorClass: "warning",
31            onkeyup: false,
32            onfocusout: false,
33            submitHandler: function (myForm) {
34                myForm.submit();
35            }
36        });
37
38        form.children('[data-step="' + current + '"]').addClass('visible');
39
40        form.on('click', '.goto-prev', function () {
41            let step = $(this).attr('data-goto-step')
42            current = step;
43            console.log('prev')
44            form.children('.step.visible').removeClass('visible')
45            form.children('[data-step="' + step + '"]').addClass('visible');
46        })
47
48        form.on('click', '.goto-next', function () {
49            if (v.form()) {
50                let step = $(this).attr('data-goto-step')
51                current = step;
52                console.log('next')
53                form.children('.step.visible').removeClass('visible')
54                form.children('[data-step="' + step + '"]').addClass('visible');
55            }
56
57        })
58
59        form.on('submit', function (e) {
60
61            if (v.errorList.length > 0) return false;
62
63            e.preventDefault();
64
65            let message_field = $(this).find('.ecfb_message');
66
67            message_field.html('<div class="message"><p>Sende...</p><span class="close"></span></div>');
68
69            let data = $(this).serialize();
70
71            let formData = new FormData();
72
73            formData.append('data', data)
74            formData.append('action', 'ecfb_processing');
75            formData.append('ajax', true);
76
77            $('[type="file"]').each(function (i) {
78                let name = $(this).attr('name');
79                let totalfiles = $(this)[0].files.length;
80                console.log(totalfiles, $(this)[0].files)
81                for (let index = 0; index < totalfiles; index++) {
82                    console.log($(this)[0].files[index]);
83                    formData.append(name + "[]", $(this)[0].files[index]);
84                }
85
86            })
87
88            let request = $.ajax({
89                url: ajaxurl,
90                type: 'POST',
91                data: formData,
92                async: false,
93                cache: false,
94                contentType: false,
95                enctype: 'application/x-www-form-urlencoded;',
96                dataType: 'json',
97                processData: false,
98            });
99
100            request.done((data) => {
101
102                console.log('done', data)
103
104                $.each(data, function (key, value) {
105                    message_field.html('');
106                    let message = message_field.append(`<div class="message ${value.message.type}"><p>${value.message.text}</p><span class="close"></span></div>`)
107
108
109                    if (value.message.type == 'success') {
110
111                        form.find('.inner').hide();
112
113                        if (value.message.redirect != '') {
114                            if (value.message.redirect) {
115                                setTimeout(() => {
116                                    window.location.href = value.message.redirect;
117                                }, 2000)
118                            }
119                        }
120                    }
121
122                });
123            });
124
125            request.fail((data) => {
126                console.log(data, ajaxurl)
127                message_field.html('');
128                message_field.append(`<div class="message error"><p>Es ist ein Netzwerkfehler aufgetreten!<br>${data.statusText}</p><span class="close"></span></div>`)
129            })
130
131        })
132
133    })
134
135    $('.ecfb_message').on('click', '.close', function () {
136        $(this).parent('.message').remove();
137    })
138
139    $('[type="file"]').on('change', function (e) {
140
141        console.log(e);
142
143        $(this).next('.files').html('');
144
145        let name = $(this).attr('name');
146        let totalfiles = $(this)[0].files.length;
147        console.log(totalfiles, $(this)[0].files)
148        for (let index = 0; index < totalfiles; index++) {
149            $(this).next('.files').append(
150                $(this)[0].files[index].name + ' - ' + index + '<br>'
151            );
152        }
153
154        $('a[data-name="' + name + '"]').removeClass('uk-hidden');
155
156    })
157
158    $('.clear-files').on('click', function () {
159        let name = $(this).data('name');
160        let el = $('[name="' + name + '"]')
161        el.val(null);
162        el.next('.files').html('');
163        $(this).addClass('uk-hidden')
164    })
165
166})

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.