Get a first look at what's coming. The Developer Passport Australia Release Preview kicks off March 12. Dive in! 

Calculate two fields and autopopulate sum

bindu999
Tera Contributor

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!!!

1 ACCEPTED SOLUTION

Hi @bindu999 

 

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:

find_real_file.pngfind_real_file.png

 

Thanks,

Murthy

Thanks,
Murthy

View solution in original post

21 REPLIES 21

One more point:

Your are changing three fields a, b, c and you are writing onChange client script on 1 field.

It will only work onChange of one field. You'll have to write 3 same client script if you want to get sum of all these 3 fields in real time.

 

Better way for this will be to write an After update Business Rule and set the field once you update the form:

 

Your BR script will look like :

var total_score = parseInt(current.a) + parseInt(current.b) + parseInt(current.c);

current.setValue('score',total_score )

 

bindu999
Tera Contributor

Thank you each and everyone for your valuable inputs.