Ext面向对象开发实践(续)


Posted in Javascript onNovember 18, 2008

要实现对数据表中的数据进行操作,第一步就是要取得数据表中的数据,我们把上篇文章中的创建Store的方法也略作调整,让其从数据表中读取数据。

this.departmentStore = new Ext.data.JsonStore({ 
proxy: new Ext.data.HttpProxy({url: "http://localhost:8080/Test_EXT/DB/Department.php"}), 
fields: ["department_code", "department_name", "manager", "division_code"] 
});

Department.php,负责连接SQL数据库,取得数据并将其转换为JSON格式,为Ext的读取作准备。
<?php 
require('JSON.php'); 
require('uai_Personal_Info.php'); 
$p = new uai_Personal_Info(); 
$result = $p->getDepartmentList(); 
$json = new Services_JSON(); 
echo $json->encode($result); 
还有一点要修改的就是新增和修改窗体的onSubmitClick方法 
onSubmitClick: function() { 
if (this.url != "") { 
this.form.submit({url: this.url, success: this.onSubmit, 
waitTitle: "Save Data", waitMsg: "Transcation process.....", scope: this}); 
this.fireEvent("submit", this, this.form.getValues()); 
} 
},

Submit方法需要传递一系列参数:
url:数据处理的URL地址,这里传入的是一个负责处理新增操作的URL
success:如果提交数据处理成功,则会回调这个参数指定的处理代码
waitTitle:数据提交时弹出对话框的标题
waitMsg:数据提交时弹出对话框的信息内容
scope:回调函数中的this所指对象

这里需要说明的是处理数据的PHP文件中,必须返回一个JSON字串,如果包含"success: true",则表示处理成或,否则认为处理失败。例如下面的代码

<?php 
require('JSON.php'); 
require('uai_Personal_Info.php'); 
$rs = $_POST; 
$rs["success"] = true; //表示处理成功 
$sql = "INSERT INTO uai_department(department_code, department_name, manager, division_code) VALUES('" . 
$_POST["department_code"] . "', '" . $_POST["department_name"] . "', '" . $_POST["manager"] . "', '" . $_POST["division_code"] . "')"; 
$p = new uai_Personal_Info(); 
$rs["r"] = $p->insert_department($sql); 
$json = new Services_JSON(); 
echo $json->encode($rs);

删除的处理则与新增、修改略有不同,因为删除不需要弹出窗体对数据进行操作,所以我们改用Ext.Ajax对象

remove: function() { 
var r = this.getActiveRecord(); 
Ext.Ajax.request({url: "http://localhost:8080/Test_EXT/DB/delete_dept.php", params: {department_code: r.get("department_code")}}); 
this.getStore().remove(r); //删除客户端数据 
},
Javascript 相关文章推荐
javascript实现的动态文字变换
Jul 28 Javascript
Javascript日期对象的dateAdd与dateDiff方法
Nov 18 Javascript
JavaScript必看小技巧(必看)
Jun 07 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
Jan 30 Javascript
node学习记录之搭建web服务器教程
Feb 16 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
Aug 30 Javascript
微信小程序button组件使用详解
Jan 31 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
Mar 09 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
Jun 14 Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 Javascript
Vue中的组件及路由使用实例代码详解
May 22 Javascript
使用vue制作滑动标签
Sep 21 Javascript
Javascript打印网页部分内容的脚本
Nov 17 #Javascript
js实现简单模态窗口,背景灰显
Nov 14 #Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
Nov 14 #Javascript
javascript 出生日期和身份证判断大全
Nov 13 #Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 #Javascript
刷新页面实现方式总结(HTML,ASP,JS)
Nov 13 #Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
Nov 13 #Javascript
You might like
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
php中设置多级目录session的问题
2011/08/08 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
Prototype Date对象 学习
2009/07/12 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
Python自定义线程类简单示例
2018/03/23 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
python中常用的数据结构介绍
2021/01/12 Python
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
财务副总经理工作职责
2013/11/25 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
工作经验交流材料
2014/12/30 职场文书
预备党员半年考察意见
2015/06/01 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
MySQL如何构建数据表索引
2021/05/13 MySQL
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers