PageSourceSearch

https://www.tattvagyan.com/wp-content/plugins/wordpress-form-manager/js/userscripts.js?ver=3.6.1

js tattvagyan.com collected 2026-10-02 13:49:43 UTC 7,442 bytes, 246 lines download raw bytes

1var fm_registered_form_items = [];
2var fm_registered_forms = [];
3
4/* PHP passes the form structure to JS using 'fm_register_form_item' and 'fm_register_form' */
5//itemDef is an 'associative array', the item's database entry (unpacked)
6function fm_register_form_item(formID, itemDef){
7	itemDef.formID = formID;
8	fm_registered_form_items.push(itemDef);
9}
10
11// returns the 'registered' information about the form element, essentially the DB entry
12function fm_get_form_item_info(itemID){
13	for(var x=0;x<fm_registered_form_items.length;x++){
14		if(fm_registered_form_items[x].unique_name == itemID
15			|| fm_registered_form_items[x].nickname == itemID){
16			return fm_registered_form_items[x];
17		}
18	}
19}
20
21//returns the form element (unless it is a checkbox/radio list)
22function fm_get_form_item(itemID){
23	var itemInfo = fm_get_form_item_info(itemID);
24	return document.getElementById('fm-form-' + itemInfo.ID)[itemInfo.unique_name];
25}
26
27//the same as the above, but for checkbox/radio lists
28function fm_get_form_item_indexed(itemID, index){
29	var itemInfo = fm_get_form_item_info(itemID);
30	return document.getElementById('fm-form-' + itemInfo.ID)[itemInfo.unique_name + '-' + index];
31}	
32
33//does nothing for now; appropriate script should be attached to the button to begin with
34function fm_register_form(formID){
35
36}
37
38function fm_submit_onclick(formID){
39	if(!fm_check_required_items(formID)) return false;
40	if(!fm_check_text_validation(formID)) return false;
41	return true;
42}
43
44function fm_submit_onclick_ajax(formID, formSlug){
45	if(fm_registered_forms[formID]) return false;
46	fm_registered_forms[formID] = true;
47	
48	if(!fm_check_required_items(formID)) return false;
49	if(!fm_check_text_validation(formID)) return false;
50	
51	var data = {
52		action: 'fm_post_form',
53		slug: formSlug,
54		fm_id: document.getElementById('fm-form-' + formID)['fm_id'].value,
55		fm_nonce: document.getElementById('fm-form-' + formID)['fm_nonce'].value
56	};		
57	var temp;
58	
59	for(var x=0;x<fm_registered_form_items.length;x++){
60		if(fm_registered_form_items[x].formID == formID){
61			eval("temp = " + fm_registered_form_items[x].getter_script + "(\'" + formID + "\', \'" + fm_registered_form_items[x].unique_name + "\');");
62			data[fm_registered_form_items[x].unique_name] = temp;
63		}
64	}
65	
66	var ajaxurl = fm_user_I18n.ajaxurl;
67	
68	jQuery.post(ajaxurl, data, function(response){
69		var formEL = document.getElementById('fm-form-' + formID);
70		jQuery(formEL).after(response).remove();
71	});
72	
73	return false;
74}
75
76/* Validation checks */
77
78//check text validation
79function fm_check_text_validation(formID){
80	var msg = "";
81	for(var x=0;x<fm_registered_form_items.length;x++){
82		if(fm_registered_form_items[x].formID == formID && 
83			fm_registered_form_items[x].type == 'text' &&
84			!fm_item_validation_satisfied(fm_registered_form_items[x])){
85			if(!temp){
86				if(msg != "") msg += "\n";
87				msg += fm_registered_form_items[x].validation_msg;	
88			}
89		}
90	}
91	if(msg != ""){
92		alert(msg);
93		return false;
94	}
95	return true;
96}
97
98function fm_item_validation_satisfied(itemDef){
99	if(itemDef.validation_callback != ""){		
100		eval("temp = " + itemDef.validation_callback + "('" + itemDef.formID + "', '" + itemDef.unique_name + "', '" + itemDef.validation_type + "');");
101		return temp;
102	}
103	return true;
104}
105
106
107
108//check required items
109function fm_check_required_items(formID){
110	var msg = "";
111	for(var x=0;x<fm_registered_form_items.length;x++){
112		if(fm_registered_form_items[x].formID == formID && 
113			!fm_item_required_satisfied(fm_registered_form_items[x])){
114			if(!temp){
115				if(msg != "") msg += "\n";
116				msg += fm_registered_form_items[x].required_msg;	
117			}
118		}
119	}
120	if(msg != ""){
121		alert(msg);
122		return false;
123	}
124	return true;
125}
126
127
128function fm_item_required_satisfied(itemDef){
129	if(itemDef.required == 1 && itemDef.required_callback != ""){
130		eval("temp = " + itemDef.required_callback + "('" + itemDef.formID + "', '" + itemDef.unique_name + "');");
131		return temp;
132	}
133	return true;
134}
135
136function fm_set_required(itemID, req){
137	for(var x=0;x<fm_registered_form_items.length;x++){
138		temp = fm_registered_form_items[x];
139		if(temp.unique_name == itemID){			
140			fm_registered_form_items[x].required = req;
141			tempID = 'fm-item-' + (temp.nickname != "" ? temp.nickname : temp.unique_name);
142			EMs = document.getElementById(tempID).getElementsByTagName('em');
143			if (EMs[0] !== undefined){
144				EMs[0].style.display = (req == 1 ? 'inline' : 'none');
145			}
146		}
147	}
148	
149}
150
151function fm_supports_placeholder(){
152	placeholderSupport = ("placeholder" in document.createElement("input"));
153	return placeholderSupport;
154}
155
156
157function fm_remove_placeholders(){	
158	if(!fm_supports_placeholder()){
159		for(var i=0;i<fm_registered_form_items.length;i++){
160			switch(fm_registered_form_items[i].type) {
161				case 'text':
162				case 'textarea':
163					formID = fm_registered_form_items[i].formID;
164					itemID = fm_registered_form_items[i].unique_name;
165					var textItem = document.getElementById('fm-form-' + formID)[itemID];
166					textItem.value = fm_base_get_value(formID, itemID);
167				break;
168			}
169		}
170	}
171}
172
173////////////////////////////////////////////////////////////
174//// HELPERS ///////////////////////////////////////////////
175
176function fm_trim(str){
177	return str.replace(/^\s+|\s+$/g,"");
178}
179function fm_fix_str(str){
180	return str.replace(/[\\]/g,'\\\\\\\\').replace(/[']/g,'\\\\\\$&');
181}
182function fm_htmlEntities(str) {
183    return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
184}
185function fm_array_contains(haystack, needle){
186	for(var x=0;x<haystack.length;x++){
187		if( haystack[x] == needle ) return true;
188	}
189	return false;
190}
191
192////////////////////////////////////////////////////////////
193//// FORM ELEMENTS /////////////////////////////////////////
194
195// form element base class
196function fm_base_required_validator(formID, itemID){
197	var e = document.getElementById('fm-form-' + formID)[itemID];
198	if ( typeof(e.ph_hasEdit) != 'undefined' ){
199		return ( e.ph_hasEdit );
200	}	
201	return (fm_trim(e.value) != "");
202}
203function fm_base_get_value(formID, itemID){
204	var e = document.getElementById('fm-form-' + formID)[itemID];
205	if ( typeof(e.ph_hasEdit) != 'undefined' ){
206		if ( e.ph_hasEdit == true )
207			return fm_trim(e.value);
208		return "";
209	}
210	return fm_trim(e.value);
211}
212
213// checkbox
214function fm_checkbox_required_validator(formID, itemID){
215	return document.getElementById('fm-form-' + formID)[itemID].checked;
216}
217
218// list
219function fm_custom_list_required_validator(formID, itemID){
220	var listType = document.getElementById('fm-form-' + formID)[itemID + '-list-style'].value;
221	switch(listType){
222		case "radio":
223			return fm_radio_list_required_validator(formID, itemID);
224		case "checkbox": 
225			return fm_checkbox_list_required_validator(formID, itemID);
226		default:
227			return fm_select_list_required_validator(formID, itemID);
228	}
229	return false;
230}
231function fm_select_list_required_validator(formID, itemID){			
232	return (document.getElementById('fm-form-' + formID)[itemID].value != 0);
233}
234function fm_radio_list_required_validator(formID, itemID){	
235	var radioList = document.getElementById('fm-form-' + formID)[itemID];
236	for(var x=0;x<radioList.length;x++)
237		if(radioList[x].checked == true) return true;		
238	return false;
239}
240function fm_checkbox_list_required_validator(formID, itemID){
241	var count = document.getElementById('fm-form-' + formID)[itemID + '-count'].value;
242	for(var x=0;x<count;x++){
243		if(document.getElementById('fm-form-' + formID)[itemID + '-' + x].checked) return true;
244	}
245	return false;
246}

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.