Changes

Jump to: navigation, search

Custom Field Type: Special – Browser Script

502 bytes removed, 17:04, 4 December 2018
no edit summary
<u>'''Field Display'''</u>  This type of field is not displayed. <u>'''General Description'''</u> {{JavaScript Syntax}}
==General Description==
* This field type adds a '''[[JavaScript]]''' to the page on which it is located.
* This script will execute whenever the page is saved.
* This field type is used by programmers to create enhanced functionality.
* The field is not displayed.* In general , Browser Scripts must be at the end of the page, so should be included sequentially at the end of your list of [[Custom Fields]]. <u>'''Field Options''' </u>
* '''Display Order'''==Field Options==All common options: The order (relative to other fields) in which this field is displayed<br />* '''Tab Name''': Displays the field under a given tab[[Custom Fields - General Information #General_Settings|General Settings]]<br />* '''[[Custom Fields - General Information #Role Field Permissions and Status Field Name''': The name of the field, used internally to reference the user's inputPermissions|Permissions & Availability]]<br />* '''[[CaptionCustom Fields - General Information #Classic Options|Classic Options]]''': The leading question or prologue before the field<br />* '''Track Changes''': Keeps track of changes made For further information, please refer to this field [[Custom Fields – General Information]].<ubr />'''Special Options for Field'''<br /u> Options listed below are specific to this particular field type.
==Field Display==This type of field is only displayed when '''JavaScript''': Stores the procedure you wish to execute <u>On Demand''is selected as a 'Services'Trigger Type''</u> .
* '''Enable Map ServiceNote:''': displays the map icon next to the field name that will launch the user’s selected map service and display If there is a map of the content of the field* '''Enable People Search Service''': displays the search Internet icon next to the field name that will launch browser script on a variety of search services Tab, and display the contact details from those services* '''Enable Organization Search Service''': displays script does not have any visibility conditions on it, the search Internet icon next to the field name that Tab will launch a variety of search services and display the organisations details from those servicesbe displayed even if there are no other visible fields on it.
{{TriggerType}}
* '''Custom Script''': Stores the procedure you wish to execute ==Field Permissions==<u>'''[[Role Field Permissions|Role - Field Permissions]]'''</u>
These [[Role Field Permissions|fields]] allow you to control by [[Role]] who is allowed to view and/or modify the field.
<u>'''[[Status Field Permissions|Status - Field Permissions]]'''</u>  
* ''Only present within the [[Universal Tracking Application]]''
 
These [[Status Field Permissions|fields]] allow you to control by the [[Status]] of the record whether or not the field can be viewed and/or modified.
 ==Referencing Other Fields==<u>'''Referencing Other Fields'''</u>  
* Standard Fields can be referenced by name ''(see [[Web Page View Field Variables|this]] page for a list of standard field variable names)''
 Level 1: ''document.'''form1'''.startdate.value''<br/>
Level 2 & 3: ''document.'''frmevent'''.startdate.value''
 * To reference [[Custom Fields]] use cf_xxxxxx where xxxxxx is the field ID<br> Level 1: ''document.'''form1'''.cf_12345.value<br/>
Level 2 & 3: ''document.'''frmevent'''.cf_54321.value''
Instead of using document.form1 at Level 1, and document.frmevent at Levels 2 & 3
you can use the following, which will simply take the first form, so works at any level:
<br />
'''document.forms[0]'''
<u>'''==Examples'''</u> ==(For more examples of scripts see [[:Category:JavaScript]])
'''1. Setting End Date to current date as long as the status is not equal to Closed'''
 <pre>if ([status] != 'Closed')
{
var t=new Date();
}
</pre>
 
'''2. How to calculate sum of Dynamic Custom Field'''
'''****The following instructions are for those who have Global System Administrator only. Please contact your system administrator before proceeding. ****'''
You will need to create in total three custom fields. Two custom fields that will be display before (having a smaller display order than) the Dynamic Custom Field (i.e if the dynamic custom field have display order of 2050 then the two custom fields display order have to be smaller than 2050 like 2045 and 2047). One custom fields will be located within the dynamic custom field.
'''Step 1:''' Create the 1st custom field using type "Text box - Single Line" that will be store the value of the sum or total. You need to remember the Field ID of this custom field before proceeding to step 2. The Field ID is located in the last column of the "Field List" view.
'''Step 2:''' Create the 2nd custom field using type "Special - Browser Script" and paste the following script into the Javascript text box. Replace the "xxxxxx" with the Field ID of the 1st Custom Field that you just created.
<pre>//Set the field that store the total to read only
document.frmevent.cf_xxxxxx.readOnly=true;
</pre>
'''Step 3:''' You will need to go to the Edit view of the Dynamic Data - Dynamic Control Field and create a new sub field. Create this 3rd custom field using type "Special - Browser Script" and paste the following script into the Javascript text box. Replace "xxxxx1" with the field id of the Dynamic Data - Dynamic Custom Field. Replace "xxxxx2" and "xxxxx3" with field id of all the fields that you need to sum up.
'''Step 3:''' You will need to go to the Edit view of the Dynamic Data - Dynamic Custom Field and create a new sub field. Create this 3rd custom field using type "Special - Browser Script" and paste the following script into the Javascript text box. Replace "xxxxx1" with the field id of the Dynamic Data - Dynamic Custom Field. Replace "xxxxx2" and "xxxxx3" with field id of all the fields that you need to sum up. <pre>var expenseCF = new Array('cf_xxxxx1', 'cf_xxxxx2', 'cf_xxxxx3');
var i = 0;
var number= eval("document.frmevent."+ expenseCF[0] + ".value;");
</pre>
'''NOTE:''' If you want the total to display at the bottom of the dynamic field, you need to create a new field and assign the value of the original total to the new custom field that you just create.
'''NOTE:'''
 * At Level one {{l1}} use document.form1 * At Level two {{l2}} and three {{l3}} use document.frmevent* On a [[tabs|tab ]] use document.frmedit
==Note==
A comment is automatically added at the start of any browser scripts when they are added to the page which states the [[Custom Field ID|custom field ID ]] of the browser script. 
* Displays as:
 
// Browser script cf_123456
* When viewing the source of a page this will facilitate identifying the '''Browser Script''' custom field associated with each portion of script.
==See Also==
* [[Counting Business Days between Two Dates]]
* [[:Category:JavaScript|Category:JavaScript]]
 
[[Category:Custom Fields]][[Category:JavaScript]]{{CustomFieldPageFooter}}
Smartstaff, administrator
421
edits

Navigation menu