JS 작은 연습코드 2_
May 16, 2016 pm 06:59 PM
js
JS 실습코드
해당 소스코드는 다음과 같습니다.
1.beginFormPanel.js (기능: 외부 html 파일에 폼 표시)
<script> var beginFormPanel = Ext.extend(Ext.form.FormPanel,{ constructor:function() { beginFormPanel.superclass.constructor.call ( this, { title:"myForm(绝不裸奔)", width:418, height:180, frame:true, labelWidth:45, style:"margin-left:250px", defaultType:"textfield", defaults:{anchor:"95%"}, items: [ { fieldLabel:"姓名", name:"name" }, { fieldLabel:"年龄", name:"age" }, { fieldLabel:"性别", name:"sex" }, { fieldLabel:"住址", name:"addr" } ], buttons: [ { text:"添加" }, { text:"修改" }, { text:"删除" } ], renderTo:Ext.getBody() } ) ; } }) ; </script>
로그인 후 복사
2.beginPanel.js (함수: GridPanel 및 창과 창에 FormPanel 구현)
<script> /**************************** FormPanel *****************************************************/ var myWindowForm = Ext.extend(Ext.form.FormPanel,{ constructor:function() { myWindowForm.superclass.constructor.call ( this, { labelWidth:45, defaultType:"textfield", defaults:{anchor:"93%"}, style:"padding:5px", baseCls:"x-plain", items: [ { fieldLabel:"姓名", name:"name", allowBlank:false, blankText:"姓名不能够为空!" }, { fieldLabel:"年龄", name:"age", allowBlank:false, vtype:"age", blankText:"年龄不能够为空!" }, { fieldLabel:"性别", name:"sex", allowBlank:false, blankText:"性别不能够为空!" }, { fieldLabel:"住址", name:"addr", allowBlank:false, blankText:"住址不能够为空!" } ] } ) ; }, getValues:function() { if(this.getForm().isValid()) { return new Ext.data.Record(this.getForm().getValues()) ; } else { throw error("表单验证没通过哦!") ; } }, setValues:function(record) { this.getForm().loadRecord(record) ; }, reset:function() { this.getForm().reset() ; } }) ; /******************************** Window ***********************************/ var myWindow = Ext.extend(Ext.Window,{ form:new myWindowForm(), constructor:function() { myWindow.superclass.constructor.call ( this, { title:"myWindow(绝不裸奔)", width:300, height:185, frame:true, plain:true, modal:true, items:this.form, closable:false,//禁止关闭 collapsible:true,//可折叠 buttons: [ { text:"确定", handler:this.onSubmitClick, scope:this }, { text:"取消", handler:this.onCancelClick, scope:this } ] } ) ; this.addEvents("submit") ; }, close:function() { this.hide() ; }, onSubmitClick:function() { /* try { this.fireEvent("submit",this,this.form.getValues()) ; } catch (error) { Ext.Msg.alert("警告","请将需要填写的信息填写完整!") ; } */ this.fireEvent("submit",this,this.form.getValues()) ; this.close() ; }, onCancelClick:function() { //上面不加scope属性则提示this.form为空 this.form.reset() ; this.close() ; } }) ; /************************** GridPanel **************************************/ var beginMyPanel = Ext.extend(Ext.grid.GridPanel,{ insertWin:new myWindow(), constructor:function() { //this.insertWin = new myWindow() ; var myData = [ ["th","91","非女","地球"], ["thtwin","92","男","地球"], ["thtwinj2ee","93","非女","地球"], ["thj2ee","94","男","地球"], ["thtwin","95","非女","地球"] ] ; var myRecord = Ext.data.Record.create ( ["name","age","sex","addr"] ) ; var myColumn = new Ext.grid.ColumnModel ( [ {header:"姓名",dataIndex:"name"}, {header:"年龄",dataIndex:"age"}, {header:"性别",dataIndex:"sex"}, {header:"住址",dataIndex:"addr"} ] ) ; var myStore = new Ext.data.Store ( { proxy:new Ext.data.MemoryProxy(myData), reader:new Ext.data.ArrayReader ( {}, myRecord ) } ) ; beginMyPanel.superclass.constructor.call ( this, { title:"myGridPanel(thtwinj2ee)", frame:true, width:418, height:250, cm:myColumn, ds:myStore, style:"margin:20,0,10,250", tbar: [ { text:"添加人员", handler:function() { this.insertWin.show() ; }, scope:this }, "-",//得到的结果为:| {text:"修改人员"}, "-", {text:"删除人员"} ], selModel:new Ext.grid.RowSelectionModel ( { listeners: { "rowselect": { fn:function(row,index,record) { this.setTitle("修改之后的GridPanel的名字!") ; //注意下面的这句 ***** 1 ****** this.fireEvent("rowselect",record) ; }, scope:this } } } ), renderTo:Ext.getBody() } ) ; myStore.load() ; //注意下面这句 ***** 2 ****** this.addEvents("rowselect") ; this.insertWin.on("submit",this.onInsertWinSubmit,this) ; }, insert:function(myRecord) { this.getStore().add(myRecord) ; }, onInsertWinSubmit:function(insertWin,myRecord) { this.insert(myRecord) ; } }) ; </script>
로그인 후 복사
3. 정적 HTML 페이지의 성능
<html> <head> <title></title> <link rel="stylesheet" type="text/css" href="../AllRes/resources/css/ext-all.css"/> <script type="text/javascript" src="../AllRes/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../AllRes/ext-all.js"></script> <script type="text/javascript" src="beginPanel.js"></script> <script type="text/javascript" src="beginFormPanel.js"></script> <script> Ext.onReady(function(){ Ext.QuickTips.init() ; Ext.form.Field.prototype.msgTarget="side" ; Ext.apply(Ext.form.VTypes,{ "age":function(value) { //此处用正则表达式要使 if(/^\d+$/.test(value)) { return true ; } return false ; }, "ageText":"请输入正确的年龄!" } ) ; /* var newnewMyWindowForm = new myWindowForm() ; newMyWindowForm.render(Ext.getBody()) ; */ // var newnewMyWindow = new myWindow() ; // newMyWindow.show() ; var myGridPanel = new beginMyPanel() ; var myForm = new beginFormPanel() ; //注意下面这句与***** 1 ****** 和 ***** 2 ******的关系 myGridPanel.on ( "rowselect", function(selectedRow) { this.getForm().loadRecord(selectedRow) ; }, myForm ) ; }) ; </script> </head> <body> </body> </html>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7281
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1341
46


라라벨 튜토리얼
1258
25


PHP 튜토리얼
1205
29



JS 및 Baidu Maps를 사용하여 지도 이동 기능을 구현하는 방법

주식 분석을 위한 필수 도구: PHP 및 JS를 사용하여 캔들 차트를 그리는 단계를 알아보세요.

JS 및 Baidu Maps를 사용하여 지도 다각형 그리기 기능을 구현하는 방법

JS와 Baidu Map을 활용하여 지도 클릭 이벤트 처리 기능을 구현하는 방법
