PageSourceSearch

https://villago.it/wp-content/plugins/trx_addons/components/shortcodes/form/form.js?reload=98819612

js villago.it collected 2026-10-02 21:28:47 UTC 3,115 bytes, 105 lines download raw bytes

1/**
2 * Shortcode Contact form
3 *
4 * @package ThemeREX Addons
5 * @since v1.2
6 */
7
8/* global jQuery, TRX_ADDONS_STORAGE */
9
10jQuery(document).on( 'action.init_hidden_elements', function(e, container) {
11
12	"use strict";
13	
14	// Contact form validate and submit
15	if (container.find('.sc_form_form:not(.sc_form_custom):not(.inited)').length > 0) {
16		container.find('.sc_form_form:not(.sc_form_custom):not(.inited)')
17			.addClass('inited')
18			.on( 'submit', function( e ) {
19				sc_form_validate( jQuery( this ) );
20				e.preventDefault();
21				return false;
22			} );
23	}
24
25	// Mark field as 'filled' and remove error message
26	jQuery(
27		 'input[type="text"]:not(.fill_inited),'
28		+'input[type="number"]:not(.fill_inited),'
29		+'input[type="search"]:not(.fill_inited),'
30		+'input[type="password"]:not(.fill_inited),'
31		+'input[type="email"]:not(.fill_inited),'
32		+'input[type="tel"]:not(.fill_inited),'
33		+'input[type="url"]:not(.fill_inited),'
34		+'textarea:not(.fill_inited),'
35		+'select:not(.fill_inited)'
36		)
37	.each(function() {
38		var $fld = jQuery( this );
39		sc_form_mark_filled( $fld );
40		$fld.addClass( 'fill_inited' )
41			.on( 'blur change', function() {
42				var $self = jQuery( this );
43				sc_form_mark_filled( $self );
44				if ( $self.hasClass( 'filled' ) ) {
45					$self.removeClass( 'trx_addons_field_error wpcf7-not-valid' );
46				}
47			} );
48	} );
49	
50	
51	// Mark fields as 'filled'
52	function sc_form_mark_filled(field) {
53		if (field.val() !== '')
54			field.addClass('filled');
55		else
56			field.removeClass('filled');
57	}
58	
59	// Validate form
60	function sc_form_validate(form){
61		var url = form.attr('action');
62		if (url == '') return false;
63		form.find('input').removeClass('trx_addons_error_field');
64		var error = trx_addons_form_validate(form, {
65				rules: [
66					{
67						field: "name",
68						min_length: { value: 1,	 message: TRX_ADDONS_STORAGE['msg_field_name_empty'] },
69					},
70					{
71						field: "email",
72						min_length: { value: 1,	 message: TRX_ADDONS_STORAGE['msg_field_email_empty'] },
73						mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_field_email_not_valid'] }
74					},
75					{
76						field: "message",
77						min_length: { value: 1,  message: TRX_ADDONS_STORAGE['msg_field_text_empty'] },
78					}
79				]
80			});
81	
82		if (!error && url!='#') {
83			jQuery.post(url, {
84				action: "send_sc_form",
85				nonce: TRX_ADDONS_STORAGE['ajax_nonce'],
86				data: form.serialize()
87			}).done( function( response ) {
88				var rez = trx_addons_parse_ajax_response( response );
89				var result = form.find(".trx_addons_message_box").removeClass("trx_addons_message_box_error").removeClass("trx_addons_message_box_success");
90				if ( rez.error === '' ) {
91					form.get(0).reset();
92					result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_send_complete']);
93				} else {
94					result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_send_error'] + ' ' + rez.error);
95				}
96				result.fadeIn().delay(3000).fadeOut();
97				jQuery( document ).trigger( 'action.got_ajax_response', {
98					action: 'send_sc_form',
99					result: rez
100				});
101			});
102		}
103		return !error;
104	}
105});

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.