错误'$ .type不是函数var obj = $ .type(pref);'在jqGrid中提交表单时 [英] Error '$.type is not a function var obj = $.type( pref );' when submit a form in jqGrid

查看:137
本文介绍了错误'$ .type不是函数var obj = $ .type(pref);'在jqGrid中提交表单时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近,我使用jqGrid来表示我的业务数据集,并使用jqGrid发现了编辑/添加/删除/查看功能,所以我尝试使用它。但我遇到了一个问题,我无法在尝试我的最佳解决方案后解决它。



我按照以下示例执行此操作:

  jQuery(#deptGrid)。jqGrid('navGrid','#deptNav',{
view:true
},
{
jqModal:true,
checkOnUpdate:true,
savekey:[true,13],
navkeys:[true,38,40],
checkOnSubmit:true,
reloadAfterSubmit:false,
closeOnEscape:true,
bottominfo:标有*的为必填项
},{
jqModal: true,
checkOnUpdate:true,
savekey:[true,13],
navkeys:[true,38,40],
checkOnSubmit:true,
reloadAfterSubmit: false,
closeOnEscape:true,
bottominfo:标有(*)的字段为必填项
,{
reloadAfterSubmit:false,
jqModal:false,
closeOnEscape:true
},{
closeOnEscape:true
},{
navkeys:[true,38,40],
height:250,
jqModal:false,
closeOnEscape:true
});

更新:以下是我包括的内容:

 < link rel =stylesheettype =text / csshref =<%= BASE_PATH%> admin / styles / stylesheet .css/> 
< link rel =stylesheettype =text / csshref =<%= BASE_PATH%> admin / js / jquery / ui / themes / ui-lightness / ui.all.css />

< link rel =stylesheettype =text / cssmedia =screenhref =<%= BASE_PATH%> jqGrid4.4.1 / themes / redmond / jquery-ui -1.8.2.custom.css/>
< link rel =stylesheettype =text / cssmedia =screenhref =<%= BASE_PATH%> jqGrid4.4.1 / themes / ui.jqgrid.css/>
< link rel =stylesheettype =text / cssmedia =screenhref =<%= BASE_PATH%> jqGrid4.4.1 / themes / ui.multiselect.css/>

<! - 包括JS - >
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / jquery / jquery.min.js>< / script>
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / jquery / jquery-ui-1.8.custom.min.js>< / script>
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / jquery / superfish / js / superfish.js>< / script>
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / jquery / tab.js>< / script>
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / global.js>< / script>
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / jquery / thickbox / thickbox.js>< / script>
< link rel =stylesheettype =text / csshref =<%= BASE_PATH%> admin / js / jquery / thickbox / thickbox.css/>
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / jquery / jquery.form.js>< / script>
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / jquery / jquery.validate.js>< / script>
< script type =text / javascriptsrc =<%= BASE_PATH%> admin / js / jquery / jquery-ui-timepicker-addon.js>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.bgiframe-2.1.2.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.ui.core.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.ui.widget.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.ui.mouse.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.ui.button.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.ui.draggable.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.ui.position.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.ui.resizable.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.ui.dialog.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> admin / js / jquery / ui / jquery.effects.core.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> js / kevinshi.jstype =text / javascript>< / script>

< script src =<%= BASE_PATH%> jqGrid4.4.1 / js / jquery.jqGrid.src.jstype =text / javascript>< / script>
< script src =<%= BASE_PATH%> jqGrid4.4.1 / js / i18n / grid.locale-en.jstype =text / javascript>< / script>

更新:每当我点击按钮编辑/添加/删除,它总是会导致萤火虫内的错误:

  $。type不是函数
var obj = $ .type(pref);

我跟踪到jqGrid源代码中,这个错误发生在文件<$ c $的第52行c> jquery.jqGrid.src.js 如下:

  stripPref:function(pref,id ){
var obj = $ .type(pref); //发生在这条线上。
if(obj ==string|| obj ==number){
pref = String(pref);
id = pref!==? String(id).replace(String(pref),):id;
}
return id;
},

所以,在这一刻,我可以说 jQuery.type()方法被找到,但我已经包含库 jquery.min.js ,我很困惑。 / p>

解决方案

解决了这个问题。仅仅因为 jqGrid 不支持 jQuery 1.9


Recently, I'm using jqGrid to represent my business data set, and I find out there edit/add/delete/view functionality with jqGrid, so I try to use it. but I encountered a problem and I am not able to solve it after I try my best.

I do it following sample from this site:

jQuery("#deptGrid").jqGrid('navGrid', '#deptNav', {
    view : true
}, 
{
    jqModal : true,
    checkOnUpdate : true,
    savekey : [ true, 13 ],
    navkeys : [ true, 38, 40 ],
    checkOnSubmit : true,
    reloadAfterSubmit : false,
    closeOnEscape : true,
    bottominfo : "Fields marked with (*) are required"
}, {
    jqModal : true,
    checkOnUpdate : true,
    savekey : [ true, 13 ],
    navkeys : [ true, 38, 40 ],
    checkOnSubmit : true,
    reloadAfterSubmit : false,
    closeOnEscape : true,
    bottominfo : "Fields marked with (*) are required"
}, {
    reloadAfterSubmit : false,
    jqModal : false,
    closeOnEscape : true
}, {
    closeOnEscape : true
}, {
    navkeys : [ true, 38, 40 ],
    height : 250,
    jqModal : false,
    closeOnEscape : true
});

UPDATE: The following is all my including:

<link rel="stylesheet" type="text/css" href="<%=BASE_PATH %>admin/styles/stylesheet.css" />
<link rel="stylesheet" type="text/css" href="<%=BASE_PATH %>admin/js/jquery/ui/themes/ui-lightness/ui.all.css" />

<link rel="stylesheet" type="text/css" media="screen" href="<%=BASE_PATH %>jqGrid4.4.1/themes/redmond/jquery-ui-1.8.2.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="<%=BASE_PATH %>jqGrid4.4.1/themes/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="<%=BASE_PATH %>jqGrid4.4.1/themes/ui.multiselect.css" />

<!-- Including JS -->
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/jquery/jquery.min.js"></script>
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/jquery/jquery-ui-1.8.custom.min.js"></script>
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/jquery/superfish/js/superfish.js"></script>
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/jquery/tab.js"></script>
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/global.js"></script>
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/jquery/thickbox/thickbox.js"></script>
<link  rel="stylesheet" type="text/css" href="<%=BASE_PATH %>admin/js/jquery/thickbox/thickbox.css" />
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/jquery/jquery.form.js"></script>
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/jquery/jquery.validate.js"></script>
<script type="text/javascript" src="<%=BASE_PATH %>admin/js/jquery/jquery-ui-timepicker-addon.js"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.bgiframe-2.1.2.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.ui.core.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.ui.widget.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.ui.mouse.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.ui.button.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.ui.draggable.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.ui.position.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.ui.resizable.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.ui.dialog.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>admin/js/jquery/ui/jquery.effects.core.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>js/kevinshi.js" type="text/javascript"></script>

<script src="<%=BASE_PATH %>jqGrid4.4.1/js/jquery.jqGrid.src.js" type="text/javascript"></script>
<script src="<%=BASE_PATH %>jqGrid4.4.1/js/i18n/grid.locale-en.js" type="text/javascript"></script>

UPDATE: Whenever I click button to edit/add/delete, it always causes error within firebug:

$.type is not a function 
var obj = $.type( pref );

I track that into the jqGrid source code, this error happens at line 52 of file jquery.jqGrid.src.js as below:

stripPref : function (pref, id) {
var obj = $.type( pref ); // Happened at this line.
if( obj == "string" || obj =="number") {
pref = String(pref);
id = pref !== "" ? String(id).replace(String(pref), "") : id;
}
return id;
}, 

So, right at this minute, I can say that the jQuery.type() method is found, but I have included library jquery.min.js, I'm very confused.

解决方案

Solved this problem. Just because of jqGrid doesn't support jQuery 1.9.

这篇关于错误'$ .type不是函数var obj = $ .type(pref);'在jqGrid中提交表单时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆