- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
04-02-2021 08:49 AM
Hi,
I'm using client script to calculate the value of a+b and get total sum value in the single line text box. This script is not working for me. can you help me
I'm using 2 select box'es
a Select Box has option yes or no (Yes value as 10 ; No Value as 5)
b Select Box has option yes or no (Yes value as 10 ; No Value as 5)
I'm using C as a single line text box I need to get the score of what the user selects.
If Select Yes in A; Yes in B;
It should autopopulate C as 10
Client Script:
function onChange(control, oldValue, newValue, isLoading) {
 if (isLoading || newValue == '') {
 var xyz ='';
 var X = g_form.getValue('a');
 alert('a');
 var Y = g_form.getValue('b');
 var Z = g_form.getValue('c');
 
 xyz = X+Y+Z;
 g_form.setValue('score', xyz);
 alert('xyz');
 
 return;
 }
}
Please Help!!
Thank you!!!
Solved! Go to Solution.
- Labels:
 - 
						
							
		
			Service Catalog
 
- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
04-04-2021 12:09 AM
Hi 
Finally Im here with an answer,
That is you have to write two Onchange client scripts() for two variables ie, var1,var2.
I have tried in my PDI its working as you expected.
Im posting the screenshots as well..
Let me know if you still facing difficulty..
Code:
Onchange()
function onChange(control, oldValue, newValue, isLoading) {
 if (isLoading || newValue == '') {
 return;
 }
if (newValue != oldValue && newValue != '') {
var f1 = g_form.getValue('variable1');
var f2 = g_form.getValue('variable2');
if (f1 != '' && f2 != '') {
g_form.setValue('result', parseInt(f1) + parseInt(f2));
}
}
}
PFA:
Thanks,
Murthy
Murthy
- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
04-02-2021 09:23 AM
Can you confirm which field have you selected for onChange client script?
Can you update your onChange client script to :
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }
	
    var X = g_form.getValue('variables.a');
    var Y = g_form.getValue('variables.b');
    var Z = g_form.getValue('variables.c');
    var xyz = parseInt(X) + parseInt(Y) + parseInt(Z);
    g_form.setValue('score', xyz);
    alert(xyz);
}
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
04-02-2021 09:24 AM
Sure, one sec
- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
04-02-2021 09:30 AM
Yeah I tried this script too, but it didn't work. Not sure why
I have to generate risk, i will give questionnaire to end user. He will fill with the options. I need to generate risk score depending on options they select.
A Select Box with options None, Yes, No (Yes Value 10, No Value 5)
B Select Box with options None, Yes, No (Yes Value 10, No Value 5)
C Select Box with options None, Yes, No (Yes Value 10, No Value 5)
Score Single Line Text box
- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
04-02-2021 09:34 AM
Consider the following points:
Variable name seems empty on client script form. Try selecting field a
Is your client script changed from onLoad to onChange? if so then make this inactive and create a new one.
Uncheck Apply to Requested Items
Uncheck Apply to catalog tasks
And use the following script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }
	
    var X = g_form.getValue('variables.a');
    var Y = g_form.getValue('variables.b');
    var Z = g_form.getValue('variables.c');
    var xyz = parseInt(X) + parseInt(Y) + parseInt(Z);
    g_form.setValue('variables.score', xyz);
    alert(xyz);
}
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
04-02-2021 09:39 AM
Make sure you're providing the field names correctly.
