日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

在Ext的界面中js回車響應(yīng)按鈕事件

 空城66 2014-12-08

完整的例子(看不懂的可以拿過去運(yùn)行,看地懂的就看關(guān)鍵的就行啦?。?/p>

如下,一、當(dāng)鼠標(biāo)停留在填關(guān)鍵字的textfield的時(shí)候,按enter就會執(zhí)行dosearch()的方法,也就是查詢,但是你鼠標(biāo)如果沒定位在textfield的話就不能夠?qū)崿F(xiàn)這個(gè)功能了,具體代碼看下面的加紅色的編碼:

在Ext的界面中js回車響應(yīng)按鈕事件

二、點(diǎn)擊修改后,按下enter和點(diǎn)擊保存的功能一樣,這個(gè)是通過獲取保存按鈕的id設(shè)置onkeydown事件和保存的一樣,代碼是加藍(lán)色的編碼,

由于兩個(gè)都是設(shè)置了enter按鍵的快捷鍵,因此必須進(jìn)行判斷,在打開修改、添加的界面的時(shí)候,設(shè)置key=true,執(zhí)行添加、修改界面的enter快捷鍵的判斷就是根據(jù)key的值來判斷,關(guān)閉addupdate界面后就把key設(shè)置為false,這樣在主界面就不會和原來設(shè)置的查詢的enter沖突

在Ext的界面中js回車響應(yīng)按鈕事件

 Ext.ns("cms.classesManage");
cms.classesManage.main= function(){ 

var mainGrid;
var detialGrid;
var mohu;
var selectedclassesid;
var selectedclassesname;
var selectedontime;
var selectedofftime;

var load_mask=null;
function wait(str){
 load_mask=new Ext.LoadMask("addupdateform",{msg:str});
 load_mask.show();
};
function closewait(){
 if(!Ext.isEmpty(load_mask)){
  load_mask.hide();
  load_mask=null;
 }
};

// 創(chuàng)建班次管理界面
 function createwin(){
   var mainWin=new Ext.Window({
    title:'班次管理', width:800, height:'100%',closable : false,draggable : false,resizable : false, layout:'column', items:[mainGrid]  
   });
   mainWin.setPosition(40,50);
   mainWin.show();
 } 
 return {
  init :function(){
   doMainGrid();
   createwin();   
   }
  }

 function doMainGrid(){
    var listener={
            specialkey : function(field, e) {
                if (e.getKey() == Ext.EventObject.ENTER) {    //觸發(fā)了listener后,如果按回車,執(zhí)行相應(yīng)的方法
                 dosearch();
                }
            }
        };
  var tb=new Ext.Toolbar({
   items:[
   {xtype:'tbseparator'},'關(guān)鍵字:',{xtype:'textfield',emptyText:'班次ID或班次名稱',id:'mohu',listeners : listener},
   {xtype:'tbseparator'},{xtype:'tbbutton',text:'查找' ,handler:dosearch},
   {xtype:'tbseparator'},{xtype:'tbbutton',text:'添加' ,handler:function(){doaddUpdate('add')}},
   {xtype:'tbseparator'},{xtype:'tbbutton',text:'修改' ,handler:function(){doaddUpdate('update')}},
   {xtype:'tbseparator'},{xtype:'tbbutton',text:'刪除' ,handler:dodelete},
   {xtype:'tbseparator'}
   ]
  });
  var store=new Ext.data.JsonStore({
   url : ctx + '/ClassesInfoAction.do?method=getclassesInfo',
   autoLoad :true,
   totalProperty :'totalCount',
   root : 'root',
   fields : [
       {name:'classesId',mapping:'classesId'},
       {name:'classesName',mapping:'classesName'},
       {name:'ontime',mapping:'ontime'},
       {name:'offtime',mapping:'offtime'}
   ]
  });
     var cm=new Ext.grid.ColumnModel([
   {header:'班次ID',dataIndex:'classesId'},
   {header:'班次名稱',dataIndex:'classesName'},
   {header:'上班時(shí)間',dataIndex:'ontime',width:150},
   {header:'下班時(shí)間',dataIndex:'offtime',width:150}
  
  ]);
      mainGrid=new Ext.grid.LockingGridPanel({  
   width:786,height:300,layout:'fit', frame:true, border:true, enableHdMenu : false,autoScroll:true, loadMask : true, store:store,cm:cm,tbar:tb, 
   bbar : new Ext.PagingToolbar({    
    pageSize : 20,
    store : store,
    displayInfo: true,
    displayMsg: "顯示第 {0} 條到 {1} 條記錄,一共 {2} 條記錄",
    emptyMsg:'沒有記錄'
       }),      
     viewConfig : {forceFit : false}
     });
  store.on("load",function(store){
   if(store.getTotalCount()>0){
    mainGrid.getSelectionModel().selectFirstRow();
    selectRowEvent();
    mainGrid.on('rowclick',function(){
     selectRowEvent();
    });
   }
  }); 
 } 
 //選中行,觸發(fā)的事件
 function selectRowEvent(){
  var record=mainGrid.getSelectionModel().getSelected();
  selectedclassesid=record.get("classesId");
  selectedclassesname=record.get("classesName");
  selectedontime=record.get("ontime");
  selectedofftime=record.get("offtime");
 } 
//  添加、修改的界面
 function doaddUpdate(id){

 var key=true;//key用來判斷添加、修改的界面是否打開,打開的話才==true下面的enter鍵事件才能執(zhí)行(避免和主界面的enter鍵沖突)
  var classesid=new Ext.form.TextField({ fieldLabel : '班次ID', name : 'classesid', disabled : true });
 var classesname=new Ext.form.TextField({ fieldLabel : '班次名稱', name : 'classesname', disabled : false, allowBlank:false });
 var ontime=new Ext.form.TextField({ fieldLabel : '上班時(shí)間', name : 'ontime', disabled : false, allowBlank:false });
 var offtime=new Ext.form.TextField({ fieldLabel : '下班時(shí)間', name : 'offtime', format : 'Y-m-d',disabled : false, allowBlank:false });
 var addUpdateForm =new Ext.form.FormPanel({
  id:'addupdateform',frame : true,border : false,height:180,labelAlign : 'right',labelWidth : 90,
  items : [{
   layout : 'form',
   items : [{
    layout : 'column',layoutConfig : {columns : 1},defaults : {width : 260},
    items : [
     {layout : 'form',items :classesid},
     {layout : 'form',items :classesname},
     {layout : 'form',items :ontime},
     {layout : 'form',items :{xtype :'label',width:230,text:'例如:2011-01-01 01:01:01'}},
     {layout : 'form',items :offtime},
     {layout : 'form',items :{xtype :'label',width:230,text:'例如:2011-01-01 01:01:01'}}
     ]
    }]
   }]
    });
  
   var addUpdateWin=new Ext.Window({
   title:'添加', width:350,modal : true,height:'100%',closable:false,layout:'column', items:[addUpdateForm],
   tbar :  new Ext.Toolbar({
    items : [{xtype : 'tbfill'},
    {xtype : 'tbseparator'},{text : '保存',id:'addupdatesave',iconCls:'silk_disk',handler :doSave},
    {xtype : 'tbseparator'},{text : '取消',iconCls:'silk_cancel',handler :doCancel}
    ]
   })
  });  
  addUpdateWin.setPosition(300,130);  
  if(id=='add'){
   Ext.Ajax.request({
    url : ctx+"/ClassesInfoAction.do?method=getclassesid",
    method : 'post',
    params : {},
    success : function(response) {
     var strTemp = response.responseText;
     var max = strTemp.split("@@")[0];
           classesid.setValue(max);
           },
    failure : function(response){}
   });
  }
  if(id=='update'){ 
   addUpdateWin.setTitle("修改");
   classesid.setValue(selectedclassesid);
   classesname.setValue(selectedclassesname);
   ontime.setValue(selectedontime);
   offtime.setValue(selectedofftime);
  }   
  addUpdateWin.show();
    //設(shè)置新增和修改的界面里面按enter相當(dāng)于按"保存"按鈕
  function document.onkeydown(){
   if(event.keyCode==13&&key==true){
    document.getElementById("addupdatesave").click();
    return false;
   }
  }
  function doSave(){
   var classesid2=classesid.getValue();
   var classesname2=classesname.getValue();
   var classesontime2=ontime.getValue();
   var classesofftime2=offtime.getValue();
   var date=/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
   if(classesname2==null||classesname2==""){
    Ext.Msg.alert("提示信息","請完善必填信息!");
   }else if(classesontime2.match(date)==null||classesofftime2.match(date)==null){
       alert("請輸入正確日期格式!");
   }else{
    if(id=='add'){
     wait("正在保存中,請稍后...");
     Ext.Ajax.request({
      url : ctx+'/ClassesInfoAction.do?method=addclassesInfo',
      mehtod : 'post',
      waitMsg: '正在保存,請稍候...',
      params : {
      classesid:classesid2,
      classesname:classesname2,
      classesontime:classesontime2,
      classesofftime:classesofftime2
      },
      success : function(response){
       closewait();
       Ext.Msg.alert("提示信息","添加成功!");
       addUpdateWin.close();

       key=false;
       mainGrid.getStore().load();
      },
      failure : function(response){
       closewait();
       Ext.Msg.alert("提示信息","添加失??!");
      }
     });
    }else if(id=='update'){
     wait("正在保存中,請稍后...");
     Ext.Ajax.request({
      url : ctx+'/ClassesInfoAction.do?method=updateclassesInfo',
      mehtod : 'post',
      waitMsg: '正在保存,請稍候...',
      params : {
      classesid:classesid2,
      classesname:classesname2,
      classesontime:classesontime2,
      classesofftime:classesofftime2
       },
      success : function(response){
       closewait();
       Ext.Msg.alert("提示信息","修改成功!");
       addUpdateWin.close();

       key=false;
       mainGrid.getStore().load();
      },
      failure : function(response){
       closewait();
       Ext.Msg.alert("提示信息","修改失??!");
      }
     });
    }
   }
  }
  function doCancel(){
   addUpdateWin.hide();

   key=false;
  }
 }
//  刪除
  function dodelete(){
  Ext.MessageBox.confirm("確認(rèn)框","是否要刪除?",function(btn){
   if(btn=='yes'){
    Ext.Ajax.request({
     url : ctx+'/ClassesInfoAction.do?method=deleteclassesInfo',
     mehtod : 'post',
     waitMsg: '正在保存,請稍候...',
     params : {
     classesid:selectedclassesid
     },
     success : function(response){
      Ext.Msg.alert("提示信息","刪除成功!");
      mainGrid.getStore().load();
     },
     failure : function(response){Ext.Msg.alert("提示信息","刪除失敗!");}
    });
   }else{}
  });
 }
//  查詢
 function dosearch(){
  mohu=Ext.getCmp("mohu").getValue();
  mainGrid.getStore().on("beforeload",function(store,options){
   store.baseParams={
    mohu:mohu
   }
  },this);
  mainGrid.getStore().load({
  params : {
   start : 0,
   limit : 20
  }
 });
 }
 
}();
Ext.onReady(cms.classesManage.main.init,cms.classesManage.main);

上面是classesManage.js的代碼,classesManage.jsp的代碼是:

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %>
<%@ include file="/commons/taglibs.jsp"%>
<c:set var="appTitle" value="班次管理"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <title>${appTitle}</title>

 <%@ include file="/commons/meta.jsp" %>
 <%@ include file="/commons/ext.jsp" %>
 <script>var flags = "invoicing_tb";</script>
 <link rel="stylesheet" href="${ctx}/style/style.css" />
  <!--  <script type="text/javascript" src="grid.js" defer="defer"></script>-->
<script type="text/javascript" src="classesManage.js" defer="defer"></script>
 </head>  
  <body>
     <br>
  </body>
</html>

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多