Changes

Custom Field Type: Special – Browser Script

2,435 bytes added, 20:14, 18 October 2007
no edit summary
<u>'''Example'''</u>
'''1. Setting End Date to current date as long as the status is not equal to Close'''<pre>
if ([status] != 'Closed')
{
var t=new Date();
var year = t.getFullYear();
var mon = t.getMonth() + 1;
var day = t.getDate();
document.form1.enddate.value=year+'-'+mon+'-'+day;
}
</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 or had 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 proceed to step 2. The Field ID is located at the last column in 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
var year document.frmedit.cf_xxxxxx.readOnly= ttrue; //Take the value of the passing in field and add it to total sum.getFullYear();
var mon = t.getMonthfunction addTotal(valuetxt,index) + { // the index is equal to 1; then reset the sum value to zero
var day if (index == t1 ) document.frmedit.cf_xxxxxx.getDate()value=0;
document.form1.enddate. //update the value=year+'-'+mon+'-'+day;
document.frmedit.cf_xxxxxx.value = parseFloat(document.frmedit.cf_xxxxxx.value) + parseFloat(valuetxt);
}
</pre>
 
 
'''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 field that you need to sum up.
 
<pre>
var expenseCF = new Array('cf_xxxxx1', 'cf_xxxxx2', 'cf_xxxxx3');
var i = 0;
var number= eval("document.frmedit."+ expenseCF[0] + ".value;");
number = parseInt(number);
 
for (i =1; i <= number; i++)
{
var valuetxt = eval("document.frmedit."+ expenseCF[i] + ".value;");
if (valuetxt != undefined)
{ //Call the function AddTotal so that it would add the sum together
addTotal(valuetxt,i);
}
}
</pre>
[[Category:Custom Fields]]
43
edits