未知的运行时错误
| Language |
Message |
| 简体中文 |
未知的运行时错误 |
| 英文 |
Unknown runtime error |
| 日文 |
未知の実行時エラーです。 |
一般是 IE 中由于 innerHTML 设置了不合适的值造成,比如 table, tr, li, p, form 之类的非法嵌套。
案例
今天遇到“未知的运行时错误”,调试代码都是正常的,效果展示也是正常的,调试了一下。
原因:这个表单中有两个需要将金额转化成中文大写金额,每个都对应一个span标签,
分别两个不同id,但是我js代码写了同一个ID,这样导致了这个错误。
实例如下:

导致问题代码:
// 付款账户留存金额rmbconvert
E.on("J_amountMoney", "keyup", function(e){
D.get("J_startEndMoneyCn").innerHTML = AP.widget.RMBConvert(D.get("J_amountMoney").value);
});
//起结金额rmbconvert
E.on("J_startEndMoney", "keyup", function(e){
D.get("J_startEndMoneyCn").innerHTML = AP.widget.RMBConvert(D.get("J_startEndMoney").value);
});
正确的代码:
// 付款账户留存金额rmbconvert
E.on("J_amountMoney", "keyup", function(e){
D.get("J_amountMoneyCn").innerHTML = AP.widget.RMBConvert(D.get("J_amountMoney").value);
});
//起结金额rmbconvert
E.on("J_startEndMoney", "keyup", function(e){
D.get("J_startEndMoneyCn").innerHTML = AP.widget.RMBConvert(D.get("J_startEndMoney").value);
});
冒顿点评:
这里提供的相关代码只是入口代码,修复后确实可以避免触发异常,但是实际抛出异常的
代码应该是在 AP.widget.RMBConvert 中。
相关异常
延伸阅读