我在Chrome中遇到错误“Uncaught TypeError:无法读取未定义的属性'errcap'。
在firefox上,我遇到了这个:
我正在使用jqgrid 4.8.2。
这是我的代码:
<!DOCTYPE HTML>
<html lang="en-us">
<head>
<meta charset="utf-8">
<script type="text/javascript">
/* Input: user types in an integer
* Processing: adds all odd numbers between input and 0
* Output: the sum of the odd numbers
*/
function addOdds() {
var n = parseInt(document.getElementById('number').value);
var sum = 0;
for (var i = 0; i < n; i++) {
if (i % 2 != 0) {
sum += i;
}
;
}
window.alert(sum);
}
</script>
</head>
<body>
Please enter a number. <input type="text" id="number">
<button type="button" onclick="addOdds()"> Get the sum </button>
<div id=""> </div> <!--is this part need? -->
</body>
</html>
当我点击保存图标时会发生错误,如下图所示:
感谢您的帮助,伙计们。
答案 0 :(得分:1)
我自己不使用jqGrid 4.8.2,因为我在更改了jqGrid的许可协议并将其设为free jqGrid之后开发了jqGrid的替代分支:Guriddo jqGrid JS。不过我查看了代码,可以看到the lines
中的错误var errors = $.jgrid.getRegional(this, 'errors'),
edit =$.jgrid.getRegional(this, 'edit'),
代码saveRow
的。正确的代码应该是
var errors = $.jgrid.getRegional($t, 'errors'),
edit = $.jgrid.getRegional($t, 'edit'),
其中$t
等于this[0]
(请参阅the line)。您可以对jquery.jqGrid.js
的代码进行修改(请参阅the line 10179)并使用它而不是jquery.jqGrid.min.js
来验证问题是否会在解决方案中得到解决。
答案 1 :(得分:1)
或者您可以在页面中添加javascript
//fix for jqgrid
//http://stackoverflow.com/questions/30795713/uncaught-typeerror-cannot-read-property-errcap-of-undefined
$.jgrid.getRegional = function(inst, param, def_val) {
try{
if (inst instanceof jQuery){
inst = inst.get(0);
}
}catch(e){}
var ret;
if(def_val !== undefined) {
return def_val;
}
if(inst.p && inst.p.regional && $.jgrid.regional) {
ret = $.jgrid.getAccessor( $.jgrid.regional[inst.p.regional] || {}, param);
}
if(ret === undefined ) {
ret = $.jgrid.getAccessor( $.jgrid, param);
}
return ret;
}