
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-03-2019 03:21 AM
Hi,
I have three fields
- Location (u_location)
- Ex-showroom Price(u_price_over_location)
- Added GST(u_added_gst)
I have written onChange Client script, location is the field I have selected as onChange Field. Based on the location, "added GST" field should get populated with 28% of "Ex-Showroom Price". But my code was not working where did I made mistake.
here is the code i have written:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var price = g_form.getValue('u_price_over_location');
var gst = 0.28;
var price1 = gst*price;
if (newValue == '1') {
g_form.setValue('u_added_gst', price1);
}
}
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-04-2019 09:19 PM
Hi Sandeep,
Can you also mark answer as correct and helpful.
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-03-2019 03:25 AM
convert the values using parseFloat and parseInt functions and then multiply.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-03-2019 03:25 AM
Hi Sandeep,
please use below code and test once; the highlighted part will give you the integer/float value
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var price = g_form.getValue('u_price_over_location').substring(4);
var gst = 0.28;
var price1 = parseFloat(gst) * parseFloat(price);
if (newValue == '1') {
g_form.setValue('u_added_gst', price1);
}
}
Mark Correct if this solves your issue and also mark Helpful if you find my response worthy based on the impact.
Thanks
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-03-2019 03:39 AM
Hi Ankur Bawiskar,
Thanks for the response. I have change my code as you suggested me, but I got an error as below.
"onChange script error: TypeError: value.indexOf is not a function function () { [native code] }".
and can you explain what does .substring(4); do.
Thanks,
Sandeep.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-03-2019 03:51 AM
substring function is supposed to cut out a piece of a script in javascript.
Try this
g_form.getValue('u_price_over_location').toString().substring(4);