EXT在FormPanel里如何显示一个倒计时的时间(比如5分钟倒计时)

EXT在FormPanel里如何显示一个倒计时的时间(比如5分钟倒计时)

问题描述:

1,前段时间atian25给了个例子不过好像是显示时间的,而不是倒计时,这个FormPanel是在点了按钮以后弹出来的
谁能给个完整点的,比如下面这个Panel怎么加,倒计时到时间以后下个触发一个事件,谢谢咯!
2,顺便问一下,怎么在ext里判断一个action传下来的值,如果为空就提示,然后页面自动关闭呢?
3,我还想加一个本机时间到toolbar上,可以吗?
form = new Ext.FormPanel( {
labelWidth : 75,
url : 'userUpdate.do',
frame : true,
monitorVaild : true,
title : '用户编辑',
bodyStyle : 'padding:5px 5px 0',
width : 350,
waitMsgTarget : true,
reader : _jsonEditReader,
defaults : {
width : 230
},
//defaultType : 'textfield',
items : [{
fieldLabel : '用户编号',
xtype: 'textfield',
name : 'userId',
disabled : true,
allowBlank : false,
readOnly : true
}, {
fieldLabel : '用户名称',
xtype: 'textfield',
name : 'userName',
allowBlank : false
}],
buttons : [ {
text : '保存',
disabled : false,
handler : function() {
if (form1.form.isValid()) {
form1.form.submit( {
url : 'userUpdate.do?userId=' + Ext.get('userId').dom.value,
success: function(form, action){
newFormWin.hide();
//Ext.Msg.alert('保存成功', '修改用户成功!');
ds.load( {
params : {
start : 0,
limit : 10}
});
},
failure : function(form, action) {
Ext.Msg.alert('保存失败', '处理用户失败!');
},
waitMsg : '正在保存数据,稍后...'
});
} else {
Ext.Msg.alert('信息', '请按要求填写完成再提交!');
}
}
}, {
text : '取消',
handler : function() {
newFormWin.hide();
}
}]
});

兄弟,你受苦了...2个星期了还在折腾这问题...
建议你去看下js的东西,这样对你学ext能事半功倍.
[url]http://www.w3school.com.cn/js/index.asp[/url]

[code="javascript"]
Ext.onReady(function(){
Ext.BLANK_IMAGE_URL = '/images/s.gif';
Ext.chart.Chart.CHART_URL = '/js/extjs/3.0/resources/charts.swf';
Ext.QuickTips.init();

var nowTimeLabel = new Ext.form.Label({text:'当前时间:'});
var remainTimeLabel = new Ext.form.Label({text:'倒计时:'});
var form = new Ext.FormPanel({
renderTo:Ext.getBody(),
height:300,
width:300,
title:'test',
tbar:[nowTimeLabel,'-',remainTimeLabel],
items:[{xtype:'textfield',fieldLabel:'input'}]
});
//倒计时完成后处理函数
var fn = function(){
//do sth when time's up.
alert('time\'s up');
}
//倒计时
var s = 30;
Ext.TaskMgr.start({
run:function(){
if(s<0){
fn();
return false;
}else{
remainTimeLabel.setText('倒计时:'+s+'秒');
s--;
}
},
scope: this,
interval: 1000
})
//当前时间
nowTimeLabel.setText('当前时间:'+new Date().format('Y-m-d H:i:s'));
});
[/code]

至于判断action空值,
var someVar = <%=request.getXXXX.....%>
if(!someVar){
window.close();
// google js关闭窗口
}