ServiceNow堆栈溢出错误

时间:2016-03-09 17:09:51

标签: javascript stack-overflow onchange servicenow

我正在使用服务中的onChange()客户端脚本将字段的输入四舍五入到下一个最高,甚至是在数据输入字段时的百分之一。我遇到了堆栈溢出消息,

onChange script error: RangeError: Maximum call stack size exceeded function (){var o=i(m,arguments);return l.apply(n,o)}   

在API中建议针对oldValue检查newValue,以确保不必要地运行onChange()。这就是我所拥有的,而且我似乎无法解决这个问题。非常感谢您的帮助。

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

            var round = ((Math.ceil(newValue * 100) /100);
            g_form.setValue('nitrate_0_50', round);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您的问题就像您在评论中解释一样。 你有一个领域。更改此字段时,您可以调用onChange功能。这反过来做som计算并改变字段的值。这导致了一个新的onChange事件。

您应该在onChange函数中再次写入该字段。