[英]Extjs how submit form without ajax?
美好的一天! 我尝试在没有ajax的情况下提交extjs表单并在下一页显示结果。 这是我的代码:
Ext.define('test.from', {
extend: 'Ext.form.Panel',
alias: 'widget.test.form',
initComponent: function () {
var me = this;
Ext.apply(this, {
frame: true,
bodyPadding: 7,
border: 0,
items: [{
xtype: 'textfield',
fieldLabel: 'First Name',
name: 'contact_attr'
}, {
xtype: 'textfield',
fieldLabel: 'Last Name',
name: 'contact_attr'
}],
buttons: [{
text: 'Send',
handler: function () {
me.getForm().submit({
url: '/salary/public/auth/',
standardSubmit: true,
method: 'POST'
});
}
}]
});
但重定向到其他页面不会发生,我收到错误: You're trying to decode an invalid JSON String
。 有谁能够帮我? 谢谢!
好的,所以你有2个错误。
我猜你正在使用extjs4:
1。 来自docs api。 它说submit()
方法是Shortcut to do a submit action
。 参数是The options to pass to the action (see doAction for details)
。 所以,将standardSubmit
submit
给submit
方法并不是正确的方法。 没有standardSubmit选项。 更多信息 myanswer,你有2种替代方式。
首先,使用init:
Ext.apply(this,{
standardSubmit:true, // not working...
frame: true,
bodyPadding: 7,
.......
编辑:
.......
me.getForm().standardSubmit=true; //just like OP comment
me.getForm().submit({
url: '/salary/public/auth/',
standardSubmit: true,
method: 'POST'
});
.......
第二,使用doAction:
...
me.getForm().doAction('standardsubmit',{
url: '/salary/public/auth/',
standardSubmit: true,
method: 'POST'
});
...
2。 错误解码,我不知道你的salary/public/auth
什么样的....
尝试我的第一个解决方案,如果错误存在,则表示错误在其他地方......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.