How to Solve 'onChange script error: RangeError: Maximum call stack size exceeded function () { [native code] }' Error.

HARI KISHAN GVS
Mega Sage

Hi Team,

i am trying to hide/show choice values of status filed(state) based on status field only. but i am getting onChange script error: RangeError: Maximum call stack size exceeded function () { [native code] } this error.

Please let me know how to solve this one.

below is my sample code.

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}

//Type appropriate comment here, and begin script below
if (newValue == 1){
g_form.addOption('state', 7);
}
else {
if (newValue == 10 || newValue == 18 || newValue == 6 || newValue == 3){
g_form.removeOption('state', 7);
}
}

}

Thank you,

Hari Kishan.

1 ACCEPTED SOLUTION

@HARI KISHAN GVS 

you can run onload client script and run it only for existing records and not new one

function onLoad(){

	if(!g_form.isNewRecord()){
		var val = g_form.getValue('state');
		if (val == 10 || val == 18 || val == 6 || val == 3){
			g_form.removeOption('state', 7);
		}
	}

}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

12 REPLIES 12

Hi Ankur,

it is working Partially, when i changing from new to open, cancelled is hiden. and when i changed from open to new, still cancelled is hidden. that should not happen.

Thanks,

Hari Kishan.

@HARI KISHAN GVS 

you can run onload client script and run it only for existing records and not new one

function onLoad(){

	if(!g_form.isNewRecord()){
		var val = g_form.getValue('state');
		if (val == 10 || val == 18 || val == 6 || val == 3){
			g_form.removeOption('state', 7);
		}
	}

}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Hi Ankur,

onLoad is working as expected, but each time i need to save the form. i need to acheive this in Onchange.

Thank you,

Hari Kishan.