我正在使用服务中的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);
}
}
}
答案 0 :(得分:0)
您的问题就像您在评论中解释一样。
你有一个领域。更改此字段时,您可以调用onChange
功能。这反过来做som计算并改变字段的值。这导致了一个新的onChange事件。
您应该在onChange
函数中再次写入该字段。