Extjs Ext.form.Panel没有方法';格特尔';
当我执行以下代码时,我可以在我的chrome中看到一个异常,如下所示: 未捕获的TypeError:对象[Object Object]没有方法“getEl” 我在web.xml文件中定义了servlet,该文件包含名称、类和url 请让我知道如何解决这个问题Extjs Ext.form.Panel没有方法';格特尔';,extjs,extjs4,extjs4.1,Extjs,Extjs4,Extjs4.1,当我执行以下代码时,我可以在我的chrome中看到一个异常,如下所示: 未捕获的TypeError:对象[Object Object]没有方法“getEl” 我在web.xml文件中定义了servlet,该文件包含名称、类和url 请让我知道如何解决这个问题 亲爱的,别把事情弄得那么复杂。我猜ExtJS会覆盖您的设置,或者根本没有使用它们,因为您没有使用适当的配置属性来设置它 下面是这两个应用程序的API链接 这是您的演示代码,扩展了这些 var search = new Ext.for
亲爱的,别把事情弄得那么复杂。我猜ExtJS会覆盖您的设置,或者根本没有使用它们,因为您没有使用适当的配置属性来设置它 下面是这两个应用程序的API链接
var search = new Ext.form.Panel({
renderTo: 'pan',
title: 'Basic Panel',
collapsible:true,
width: 400,
defaults: {width: 230},
defaultType: 'textfield',
bodyPadding: 10,
url: 'FormServlet', // you can fix a parameter like this : FormServlet?action=create
action: 'POST',
frame:true,
items: [
//....
],
buttons: [{
text: 'Submit',
handler: function() {
search.getForm().submit();
}
}]
或者这样做是为了更灵活
var search = new Ext.form.Panel({
renderTo: 'pan',
title: 'Basic Panel',
collapsible:true,
width: 400,
defaults: {width: 230},
defaultType: 'textfield',
bodyPadding: 10,
url: 'FormServlet',
action: 'POST',
frame:true,
items: [
//....
],
buttons: [{
text: 'Submit',
handler: function() {
Ext.Ajax.request({
url : 'FormServlet',
method:'POST',
params : {
yourParam: Ext.encode(form.getValues())
},
scope : this,
//method to call when the request is successful
success : this.onLoginSuccess,
//method to call when the request is a failure
failure : this.onLoginFailure
});
}
}]
别把事情弄得那么复杂。我猜ExtJS会覆盖您的设置,或者根本没有使用它们,因为您没有使用适当的配置属性来设置它 下面是这两个应用程序的API链接
var search = new Ext.form.Panel({
renderTo: 'pan',
title: 'Basic Panel',
collapsible:true,
width: 400,
defaults: {width: 230},
defaultType: 'textfield',
bodyPadding: 10,
url: 'FormServlet', // you can fix a parameter like this : FormServlet?action=create
action: 'POST',
frame:true,
items: [
//....
],
buttons: [{
text: 'Submit',
handler: function() {
search.getForm().submit();
}
}]
或者这样做是为了更灵活
var search = new Ext.form.Panel({
renderTo: 'pan',
title: 'Basic Panel',
collapsible:true,
width: 400,
defaults: {width: 230},
defaultType: 'textfield',
bodyPadding: 10,
url: 'FormServlet',
action: 'POST',
frame:true,
items: [
//....
],
buttons: [{
text: 'Submit',
handler: function() {
Ext.Ajax.request({
url : 'FormServlet',
method:'POST',
params : {
yourParam: Ext.encode(form.getValues())
},
scope : this,
//method to call when the request is successful
success : this.onLoginSuccess,
//method to call when the request is a failure
failure : this.onLoginFailure
});
}
}]
谢谢你的回复。我尝试了您发布的第一个示例,得到如下结果:
请求的资源(/Demo/jsp/FormServlet)不可用。
servlet位于src文件夹下,包名为com.controller。但是从错误的角度看,servlet似乎是在web内容下的jsp文件夹下搜索的,这是不正确的。我尝试了几个替换url的选项,例如:url:/Demo/scr/com.controller.FormServlet,但没有成功。请帮助我输入要传递到url的值。@user182944查看文件夹结构,您可能需要先导航回。您可以使用“..”而不是像“../scr/com.controller.formsrtvlet这样的foldername来存档它。当我检查FormServlet.java的属性时,我得到了路径。在url中,我将同一个url与以下内容匹配:。/src/com/controller/FormServlet
,但它仍然不起作用……不确定url到底需要什么:(@user182944好吧,我想这不再是ExtJS问题了。我也不习惯servlet。也许你应该把它作为servlet访问问题重新发布,或者看看google给了你什么。或者直接在你的浏览器中的URL上试着找出正确的一个。同样,我从来没有使用过servlet,所以这只是一个猜测。好的。我也相信这一点问题已解决:)非常感谢。您能解释一下第二个示例的Ext.Ajax.request
和params
的用途吗?感谢您的回复。我尝试了您发布的第一个示例,得到了以下信息:请求的资源(/Demo/jsp/FormServlet)不可用。
servlet位于src文件夹下,包名为com.controller。但查看错误,似乎在web内容下的jsp文件夹下搜索了servlet,这是不正确的。我尝试了几个选项来替换url,例如:url:/Demo/scr/com.controller.FormServlet,但不起作用d、 请帮助我输入要传递到url的值。@user182944查看文件夹结构,您可能需要先导航回。您可以用“..”而不是像“../scr/com.controller.formsrtvlet”这样的文件夹名来存档。当我检查FormServlet.java的属性时,我得到了路径。在url中,我将相同的url与以下内容匹配:<代码>。/src/com/controller/FormServlet但它仍然不起作用……不确定url到底期望什么:(@user182944好吧,我想这不再是ExtJS问题了。我也不习惯servlet。也许你应该把它作为servlet访问问题重新发布,或者看看google给了你什么。或者直接在你的浏览器中的URL上试着找出正确的一个。同样,我从来没有使用过servlet,所以这只是一个猜测。好的。我也相信这一点问题已解决:)非常感谢。您能否解释一下第二个示例的Ext.Ajax.request
和params
的用法?