編輯寵物的頁面
這是JSP頁面的代碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <base href="<%=basePath%>"> <title>編輯寵物</title> <link rel="stylesheet" href="extjs/resources/css/ext-all.css" mce_href="extjs/resources/css/ext-all.css" type="text/css" /> <mce:script type="text/javascript" src="extjs/adapter/ext/ext-base.js" mce_src="extjs/adapter/ext/ext-base.js"></mce:script> <mce:script type="text/javascript" src="extjs/ext-all.js" mce_src="extjs/ext-all.js"></mce:script> <mce:script type="text/javascript" src="extjs/locale/ext-lang-zh_CN.js" mce_src="extjs/locale/ext-lang-zh_CN.js"></mce:script> <mce:script type="text/javascript" src="script/editpet.js" mce_src="script/editpet.js"></mce:script> <mce:style type="text/css" media="all"><!-- .allow_float {clear: none!important;} /*允許該元素浮動*/ .stop-float {clear: both!important;} /*阻止該元素浮動*/ .float-left {float:left;} /*浮動到左邊*/ --></mce:style><style type="text/css" media="all" mce_bogus="1"> .allow_float {clear: none!important;} /*允許該元素浮動*/ .stop-float {clear: both!important;} /*阻止該元素浮動*/ .float-left {float:left;} /*浮動到左邊*/ </style> </head> <body> <div id="editForm" style="height:1024px; width:768px; margin:0 auto;"></div> </body> </html>
JS文件原代碼:
Ext.onReady(function() { Ext.BLANK_IMAGE_URL = "extjs/resources/images/default/s.gif"; Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = "qtip"; var sexStore = new Ext.data.SimpleStore({ fields: ["sex"], data:[["雄"],["雌"],["幼"]] }); var editForm = new Ext.form.FormPanel( { title : "寵物信息", bodyStyle : "padding: 15 15 15 15", //表單邊距 frame : true, height : 520, labelWidth : 55, width : 350, labelAlign : "right", //標籤對齊方式 applyTo : "editForm", defaultType: 'textfield', //默認爲文本框 items : [{ fieldLabel: '寵物名', id:'name', name: 'name', itemCls: "float-left", clearCls: "allow-float", allowBlank: false, blankText: '寵物名不能爲空' },{ fieldLabel: '寵物ID', name: 'id', disabled: true, itemCls: "float-left", clearCls: "stop-float", width: 50, value: '123' },{ fieldLabel: '類別', itemCls: "float-left", clearCls: "allow-float", name: 'type', disabled: true, }, new Ext.form.ComboBox({ width: 50, fieldLabel: "性別", editable: false, //不可編輯 id: "sex", name: "sex", store: sexStore, triggerAction: "all", //單擊觸發按鈕顯示全部數據 displayField: "sex", mode: "local", valueField: "sex", itemCls: "float-left", clearCls: "stop-float" }),{ fieldLabel: '主人姓名', id: 'ownerName', name: 'ownerName', allowBlank: false, blankText: '寵物主人姓名不能爲空' },{ fieldLabel: '主人Email', id: 'ownerEmail', name: 'ownerEmail', allowBlank: false, blankText: '寵物主人郵箱不能爲空', vtype: 'email', vtypeText: '寵物主人郵箱地址格式不正確' },{ fieldLabel: '訓練寵物', xtype:"panel", layout:"column", items:[ { xtype:"button", text:"喂 食", width: 65, handler: function() { alert("開吃"); } },{ xtype:"button", text:"講故事", width: 65, handler: function() { alert("聽故事"); } },{ xtype:"button", text:"遊 戲", width: 65, handler: function() { alert("玩遊戲"); } }] }, { id:'picture', name:'picture', xtype: 'hidden' }, { fieldLabel : "照片", xtype: 'panel', width: 200, //圖片寬度 height: 200, //圖片高度 html: "<img id='pic' src="images/unkown.jpg" mce_src="images/unkown.jpg">" } ,{ fieldLabel : "力量", id : "strength", name: 'strength', itemCls: "float-left", clearCls: "allow-float", width : 40, readOnly : true },{ labelWidth:40, fieldLabel : "智慧", id : "cute", name : "cute", itemCls: "float-left", clearCls: "allow-float", width : 40, readOnly : true },{ labelWidth:40, fieldLabel : "愛心", id : "love", name : "love", itemCls: "float-left", clearCls: "stop-float", width : 40, name : "petStrength", readOnly : true },{ fieldLabel: '寵物簡介', xtype:'textarea', id: 'introduce', name: 'introduce', width: 240, height: 60 }], buttons:[ new Ext.Button({ text: "編 輯", handler: function() { if (this.getText() == '編 輯') { editPet(); this.setText("保 存"); } else { //寫入數據庫 updatePet(); disabledEdit(); this.setText("編 輯"); } } }), new Ext.Button({ text: "寫日記", handler: function() { location.assign("/epet/login.jsp"); } }), new Ext.Button({ text: "退 出", handler: function() { location.assign("/epet/login.jsp"); } }) ] }); /* * 寵物信息加載 */ editForm.form.load({ waitMsg: '正在加載寵物信息', waitTitle: '加載', url: 'loadPetInfo.action', failure: function(form,action) { Ext.MessageBox.alert('提示','寵物信息加載失敗!'); }, success: function(form,action) { //加個隱藏對象來接收圖片值 Ext.getDom("pic").src = Ext.getDom("picture").value; disabledEdit(); } }); /* * 不允許編輯 */ function disabledEdit() { Ext.getDom("name").disabled = true; Ext.getDom("sex").disabled = true; Ext.getDom("ownerName").disabled = true; Ext.getDom("ownerEmail").disabled = true; Ext.getDom("introduce").disabled = true; } /* * 開始編輯 */ function editPet() { Ext.getDom("name").disabled = false; Ext.getDom("name").select(); Ext.getDom("sex").disabled = false; Ext.getDom("ownerName").disabled = false; Ext.getDom("ownerEmail").disabled = false; Ext.getDom("introduce").disabled = false; } /* * 保存 */ function updatePet() { editForm.form.submit({ clientValidation:true, //進行客戶端驗證 waitMsg: "正在保存,請稍候...", //提示信息 waitTitle: "保存中", url: "updatePet.action", //請求的地址 method: "post", success: function(form,action) { //成功的函數 Ext.Msg.show({ title: "信息", msg: "寵物信息修改成功", buttons: Ext.Msg.OK, icon: Ext.Msg.INFO }); }, failure: function(form,action) { //失敗函數 Ext.Msg.show({ title: "信息", msg: "寵物修改失敗", buttons: Ext.Msg.OK, icon: Ext.Msg.ERROR }); } }); } });
前端面試題 - 說一下原型和原型鏈? JavaScript 中,萬物皆對象,對象分爲普通對象和函數對象。 所有的函數都是函數對象(typeof f === 'function'),其他都是普通對象(typeof o === 'object'
唯一索引(Unique Index):保證索引列的值是唯一的,即重複值不允許。 非唯一索引(Non-Unique Index):允許重複值存在。 組合索引(Composite Index):在表的多個列上創建索引。 反向鍵索引(Rever
IPD(集成產品開發)模型的核心價值在於它改變了企業對於產品研發的固有觀點,將企業產研的重點由“技術爲導向”升級爲“用戶需求爲導向”,強調企業在產品的研發過程中堅持以用戶/客戶爲中心。 在IPD(集成產品開發)的模式中,需要企業或者團隊在限
用於衡量算法佔用內存空間隨着數據量變大時的增長趨勢。這個概念與時 間複雜度非常類似,只需將“運行時間”替換爲“佔用內存空間”。 算法在運行過程中使用的內存空間主要包括以下幾種。 ‧ 輸入空間:用於存儲算法的輸入數據。
前端面試題 - redux與vuex的區別? redux使用的是不可變數據,每次都是用新的state替換舊的state,通過diff算法比較差異的;而Vuex是可變的,通過getter/setter直接修改。 另外就是在api上有不同,v
protected function getNode(){ //$CONTROLLER_NAME = $this->_CI->router->fetch_class(); //$ACTION_NAME = $this->_
在Vue中,style scope是一個特性,它可以防止組件的樣式影響到其他組件,從而減少樣式衝突。這個特性通過在生成的CSS選擇器中自動添加一個屬性(通常是data-v-hash)來實現。 如果你遇到了style scope導致樣式無法被
DevExtreme擁有高性能的HTML5 / JavaScript小部件集合,使您可以利用現代Web開發堆棧(包括React,Angular,ASP.NET Core,jQuery,Knockout等)構建交互式的Web應用程序。從Ang
一.Vue文件內容 <template> </template> <script> </script> <style> </style>
CSDN應該是大家接觸到最多的博客平臺了,所以一款能夠發佈到CSDN的自動化工具還是非常有必要的。 今天給大家講講自動化CSDN博客發佈的思路和一些問題的解決辦法。 解決問題的思路一定是最重要的,知識是死的,問題是活的,如何在工作中解決遇
本文分享自華爲雲社區《6個實例帶你解讀TinyVue 組件庫跨框架技術》,作者: 華爲雲社區精選。 在DTSE Tech Talk 《 手把手教你實現mini版TinyVue組件庫 》的主題直播中,華爲雲前端開發DTSE技術佈道師阿健老師給
前言 在現代的Web應用開發中,與Excel文件的導入和導出成爲了一項常見而重要的任務。無論是數據交換、報告生成還是數據分析,與Excel文件的交互都扮演着至關重要的角色。本文小編將爲大家介紹如何在熟悉的電子表格 UI 中輕鬆導入 Exce
As an app developer, staying on top of the latest technologies and tools is essential to creating cutting-edge applicati
一. CSS浮動 先看一個例子 <html !DOCTYPE> <head> <title>HTML2</title> <style> .div-outer {
Java有8種基本數據類型,每種基本數據類型都提供了一種對應的包裝類型,從 Java 5 開始引入了自動裝箱/拆箱機制,使得二者可以相互轉換。 原始類型: boolean,char,byte,short,int,long,float,do