PageSourceSearch

https://refreshmarketing.nl/wp-content/plugins/refresh-leads/assets/form.js?ver=1.2.3

js refreshmarketing.nl collected 2026-10-04 11:10:04 UTC 2,622 bytes, 95 lines download raw bytes

1/* global RefreshLeads */
2( function () {
3	'use strict';
4
5	function init( wrapper ) {
6		var form = wrapper.querySelector( '.rl-form' );
7		if ( ! form ) {
8			return;
9		}
10
11		var startedAt = Date.now();
12		var pageField = form.querySelector( 'input[name="page_url"]' );
13		if ( pageField ) {
14			pageField.value = window.location.href;
15		}
16
17		var message = wrapper.querySelector( '.rl-message' );
18		var button = form.querySelector( '.rl-submit' );
19		var label = ( button && button.querySelector( '.rs-arrowbtn__label' ) ) || button;
20		var buttonText = label ? label.textContent : '';
21
22		form.addEventListener( 'submit', function ( e ) {
23			e.preventDefault();
24
25			if ( message ) {
26				message.textContent = '';
27				message.className = 'rl-message';
28			}
29
30			var elapsed = form.querySelector( 'input[name="elapsed_ms"]' );
31			if ( elapsed ) {
32				elapsed.value = String( Date.now() - startedAt );
33			}
34
35			var payload = {};
36			var elements = form.querySelectorAll( 'input, textarea' );
37			for ( var i = 0; i < elements.length; i++ ) {
38				if ( elements[ i ].name ) {
39					payload[ elements[ i ].name ] = elements[ i ].value;
40				}
41			}
42
43			button.disabled = true;
44			if ( label ) { label.textContent = 'Versturen…'; }
45
46			fetch( RefreshLeads.restUrl, {
47				method: 'POST',
48				headers: { 'Content-Type': 'application/json' },
49				body: JSON.stringify( payload )
50			} )
51				.then( function ( res ) {
52					return res.json().catch( function () {
53						return { success: false };
54					} );
55				} )
56				.then( function ( data ) {
57					if ( data && data.success ) {
58						var redirect = wrapper.getAttribute( 'data-redirect' );
59						if ( redirect ) {
60							window.location.href = redirect;
61							return;
62						}
63						form.reset();
64						if ( message ) {
65							message.textContent = wrapper.getAttribute( 'data-success' ) || 'Bedankt!';
66							message.classList.add( 'rl-success' );
67						}
68					} else {
69						showError( message, ( data && data.error ) || 'Er ging iets mis. Probeer het opnieuw.' );
70					}
71				} )
72				.catch( function () {
73					showError( message, 'Verzenden mislukt. Controleer je verbinding en probeer het opnieuw.' );
74				} )
75				.finally( function () {
76					button.disabled = false;
77					if ( label ) { label.textContent = buttonText; }
78				} );
79		} );
80	}
81
82	function showError( message, text ) {
83		if ( message ) {
84			message.textContent = text;
85			message.classList.add( 'rl-error' );
86		}
87	}
88
89	document.addEventListener( 'DOMContentLoaded', function () {
90		var forms = document.querySelectorAll( '.refresh-lead-form' );
91		for ( var i = 0; i < forms.length; i++ ) {
92			init( forms[ i ] );
93		}
94	} );
95} )();

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.