Extjs.form.Action.submit 的问题

一段用户验证的JS运行环紧时Extjs3.4,之前用Ajax.request的办法但是在Chrome中会因为异步的问题,g验证失败,现在向改form..Action.su... 一段用户验证的JS 运行环紧时 Extjs3.4,之前用Ajax.request 的办法但是在Chrome 中会因为异步的问题,g验证失败,现在向改 form..Action.submit 的办法,但是搞不定 以下是我写的form submit的,那位大大能帮我看看那里错了么?
Ext.form.Action.Submit({
url: 'http://10.86.116.58/planning/Json/promisschk.aspx',
params: {user: name, program_id: 121},
method: 'post',
success: function(form, action) {
tvalue = action.result.success;
},
failure: function(form, action) {
//Ext.MessageBox.alert("Warning!!", 'system error!!');
tvalue = 'System Error!!!';
}
});
展开
 我来答
xiii130
2014-03-26 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部

呃,分2种方法解决

1是可以设定ajax.request为同步

Ext.Ajax.request({
    url: 'xxx',
    params: {id: 1},
    async: false,
    success: function(response){}
});

2是调用form的submit方法,要说明的是,这里的方法,只对用extjs构造的form组件有效

var form = Ext.create('Ext.form.Panel', {});
form.submit({
    url: 'xxx',
    success: function(form, action) {
    },
    failure: function(form, action) {
    }
});

我很纳闷,验证表单和同步异步提交数据有什么关系。。。

要验证表单,直接用form的isValid方法验证即可

var form = Ext.create('Ext.form.Panel', {});
if (form.getForm().isValid()) {
    //验证通过
}

你的写法,从语法来说是没问题的,可是也仅仅是重写了form的submit方法,并没有真正地调用

多看看EXTJS的API吧,希望对你有帮助

追问
谢谢。因为在 Extjs 3.4.0的环境里 chrome 不支持 async: false,我有找来一个据说支持chrome的ext-basex.js,但是 这个chrome直接无视,IE OK。我要验证的不是表单,而是已经在Session里的用户是否有授权访问页面上的某个特定功能。不过看了你的第二条的方案给了我灵感,我试试看,验证时创建个form 来提交数据看看行不行。
追答
我懂你的意思了

我觉得你可以直接在后台验证session是否过期啊
有session继续操作
无session,返回错误信息,跳转登陆页

没有必要专门访问一次后台看看session在不在,再进行操作。。。

我用的基线版本是4.0,3.4的我没用过

以前回答extjs的问题时也遇到过版本不对,找不到方法的问题...
匿名用户
2014-03-26
展开全部
json我不是很会!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式