ext登录进度框waitMsg效果时间如何延长?

用ext的登录框会有一个正在登录的进度框的waitMsg的效果,由于我在login.action里有一个初始化数据库连接池的工作,因此这个login执行时间会比较长,当后台还在执行,前台也显示登录失败,可不可以把这个进度框执行的时间变长那,还有一个原因可能时login会话连接时间过长被服务端关闭了,firedug显示这个action用了30s
[b]问题补充:[/b]
to 各位: var form = loginform.getForm().submit(
{
waitTitle : '请稍候',
waitMsg : '正在登录......',
success : function() {
//alert("login success");
window.location = path;

                    },
                    failure : function() {
                        Ext.MessageBox.alert('信息', '登陆失败,请与管理员联系!');
                    }
                }
                );

我就是这样用的,没这么复杂吧
[b]问题补充:[/b]
to Rowen:我的action,是form的action,没法设timeout的。[code="java"]
var loginform = new Ext.FormPanel({
labelAlign : 'right',
title : 'ixcom通信中间件 v3.5 ',
buttonAlign : 'right',
width : 260,
frame : true,
url : path+"login.do",
plain : true,
defaultType : 'textfield',
labelWidth : 50,
labelSeparator : ':',
bodyStyle:'padding:3px 3px 0',

    items : [{  
        cls:'user',
        fieldLabel : '帐号',
        name : 'username',
        width:130,
        allowBlank : false
    }, {
         cls:'key',
        fieldLabel : '密码',
        name : 'userpassword',
        inputType : 'password',
        width:130,
        allowBlank : false
    }],




    buttons : [
         {
        text : '登陆',
        handler : function() {



         var form = loginform.getForm().submit(
                {
                   waitTitle : '请稍候',
                  waitMsg : '正在登录......',
                    success : function() {
                        //alert("login success");
                        window.location = path;

                    },
                    failure : function() {
                        Ext.MessageBox.alert('信息', '登陆失败,请与管理员联系!');
                    }
                }
                );

        }





    }, {
        text : '重置',
        handler : function() {
            loginform.getForm().reset();
        }
    }]
})

[/code]

5个回答

getForm().submit
submit action的快捷方式
参数:
options : Object
The options to pass to the action (see doAction for details)
就是form 的action吧。你看看API吧。。
[code="java"]var form = loginform.getForm().submit(

{

waitTitle : '请稍候',

waitMsg : '正在登录......',

timeout:60,//这里不能加timeout么?
.....[/code]

用MessageBox做的?

progress( String title, String msg, [String progressText] ) : Ext.MessageBox
Displays a message box with a progress bar. This message box has no buttons and is not closeable by the user. You are responsible for updating the progress bar as needed via [b]Ext.MessageBox.updateProgress[/b] and closing the message box when the process is complete.

看Ext.MessageBox.updateProgress

Ext.Msg.wait("正在处理……", "请稍候");
wait方法
[quote]wait( String msg, [String title], [Object config] ) : Ext.MessageBox
显示一个消息框,含有一个无限次滚动的进展条。 当等待一个长时间的处理,而没有定义时间间隔时...
显示一个消息框,含有一个无限次滚动的进展条。 当等待一个长时间的处理,而没有定义时间间隔时, 可以用来阻塞与用户交互。 当处理结束时,你必须自己负责关闭消息框。
参数:

msg : String
The message box body text
title : String
(可选) The title bar text
config : Object
(可选) A Ext.ProgressBar.waitConfig object
返回值:

Ext.MessageBox
this[/quote]
wait参数里有个config :Ext.ProgressBar.waitConfig object
[quote]wait( [Object config] ) : Ext.ProgressBar
初始化一个自动更新的进展条。 可以指定一个持续时间,在这种情况下经过固定的时间之后...
初始化一个自动更新的进展条。 可以指定一个持续时间,在这种情况下经过固定的时间之后 进展条会自动重置,并且可以选择指定一个回调函数,这里会调用它。如果没有指定持续时间,进展条会无限运行并且必须通过调用 reset 方法来清理它。 wait方法可以接收含有如下属性的一个配置对象:
属性 Type Description


duration Number 时间长度毫秒值,在此时间之前进展条一直运行,之后重置自己
(默认值为 undefined,在这种情况下进展条会无限运行,直到
reset函数被调用为止)
interval Number 时间长度毫秒值,进展条每次更新的时间间隔
(默认值为 1000 ms)
increment Number 显示在进展条内部的段数
(默认值为 10)。如果进展条到达了终点,但是仍然继续更新,那么
它将自动回卷到起点处。
text String 可选文本,用来显示在进展条元素中(默认值为 '').
fn Function 在进展条结束自动更新之后的回调函数。不传递任何参数给此函数。
如果duration没有指定,此方法将会被忽略,因为在这种情况下,
进展条只能通过程序终止,所以任何所需的函数都需要在相同的代码中
调用,这段代码负责重置进展条。
scope Object 传递给回调函数的作用域(只有在duration和fn都被传递时才有效)。[/quote]

示例用法:
[code="java"]var p = new Ext.ProgressBar({
renderTo: 'my-el'
});

//等待5秒钟,然后更新状态元素(进展条将会自动重置)
p.wait({
interval: 100, //bar will move fast!
duration: 5000,
increment: 15,
text: 'Updating...',
scope: this,
fn: function(){
Ext.fly('status').update('Done!');
}
});[/code]

Ext.form.Action 类
waitMsg : String
在执行操作期间,调用 Ext.MessageBox.wait 方法时显示的消息。 Action
waitTitle : String
Ext.MessageBox.wait 在执行操作期间,显示在Ext.MessageBox.wait 上的标题文本。
实际上waitMsg,waitTitle 是Ext.MessageBox.wait 的参数而已

firedug显示这个action用了30s
30s是默认的时间吧。。
[quote]Ext.form.Action 类
timeout : Number
等待服务器响应的超时毫秒数,如果超时,将返回的失败类型failureType 为CONNECT_FAILURE。[/quote]
你延长timeout看看

立即提问