AJAX - Function - Live Search Table

From All n One's bxp software Wixi

Jump to: navigation, search

1 Primary Function

This AJAX function gives the user the ability to draw a data table with one of two custom buttons that only display when certain criteria are met i.e only allow the user to select a customer where the customers account is set to live.


2 Setup

The following steps will allow you set up the table on a form.

  • Create your form
  • Add a question to store your table. Basic - Generic Area.
  • In the Generic Area, add a div...
<div id="divOutput"></div><input type="hidden" name="inputFoundId" id="inputFoundId" value="" />
  • Use the function layout below in your code
  • Tweak the parameters to get it to work for your form


Notes

  • 17 and 26 do not need to be filled in
  • In the values you're searching for use an * prepended and/or appended to the string for wildcards
  • You can combine search fields and search values using Commas but be careful to filter input

3 Code

/******************************************************************************************************
Application: This function ............
Version [1.0] Date [2016-08-29] Author [PJ]
******************************************************************************************************/
function fn_FunctionName(){
	if (typeof aryAjax_Settings=='undefined') { alert('Library did not load'); }
	else {
		// Clear all settings
		fn_Ajax_bxp_ResetSettings();

		// Security Settings
		aryAjax_Settings[0] 		= 'client_demo';
		aryAjax_Settings[22] 		= document.getElementById('intSystemGenerated_CompanyId').value;		//Auto Login - System
		aryAjax_Settings[23] 		= document.getElementById('intSystemGenerated_UserId').value;			//Auto Login - User
		aryAjax_Settings[24] 		= document.getElementById('intSystemGenerated_LoginKey').value;			//Auto Login - SessionId

		// Retrieval Settings
		aryAjax_Settings[16] 		= 'LiveSearchTable';                 									//Engine to use
		aryAjax_Settings[3] 		= 1;																	//The form with the data
		aryAjax_Settings[4] 		= 'strCDA_1_field_0_0'; 												//The field to search on
		aryAjax_Settings[5] 		= document.getElementById('strCDA_2_field_0_0').value; 					//The value to limit by
		aryAjax_Settings[13] 		= '-1'																	//Limit response
		aryAjax_Settings[40] 		= "500";																//Retrieval limit if applicable
		
		//Display management
		aryAjax_Settings[15] 		= 'divOutput';               											//Where to draw the data or error messages if any
		
		//Common Functional settings
		aryAjax_Settings[6] 		= 'intCDA_1_Id,strCDA_1_field_0_1';										//The field in the other campaign to be returned order = value, text
		aryAjax_Settings[12] 		= 'id,Name of cust';                       								//Headings for xml troubleshooting
		aryAjax_Settings[17] 		= 'strCDA_2_field_0_1';   												//The field in the current campaign into which the products will be inserted.
		aryAjax_Settings[28] 		= '';																	//Function to be executed after retrieval
		
		//Function specific settings
		aryAjax_Settings[25] 		= "strCDA_2_field_0_60";                                       			//Field to be updated when live option clicked
		aryAjax_Settings[29] 		= "Last";																//Buttons in the first column or the last column 	
		aryAjax_Settings[30] 		= "Green,Red";															//Green/Red button functionality 					
		aryAjax_Settings[31] 		= "Select,Not Available";												//Button Text (multi separated by ','  	)			
		aryAjax_Settings[32] 		= "0";																	//value for matching to show button 2 	
		//Execute
		fn_Ajax_bxp_Process();																				//The main execution of the AJAX
		
		//Write URL out (Comment out after testing)
		if (document.getElementById('divURL')){
			document.getElementById('divURL').innerHTML = "<a href='" + aryAjax_Settings[7] + "' target='_blank'>Constructed AJAX URL</a>";
		}
	}
}


4 Troubleshooting

For any errors messages and troubleshooting AJAX please read here AJAX_-_Error_messages_and_troubleshooting


5 Associated reading

For all our custom AJAX functions please read here AJAX_-_Start_Here


For the full array of all possible parameters please read here AJAX_-_Full_Array_of_Parameters


For how the security engine of AJAX works AJAX_-_Security_engine