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 19 Javascript
事件模型在各浏览器中存在差异
Oct 20 Javascript
js下将字符串当函数执行的方法
Jul 13 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
Dec 17 Javascript
谈谈关于JavaScript 中的 MVC 模式
Apr 11 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
Aug 04 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
Sep 17 Javascript
深入理解JS继承和原型链的问题
Dec 17 Javascript
详解angular中通过$location获取路径(参数)的写法
Mar 21 Javascript
JS+canvas绘制的动态机械表动画效果
Sep 12 Javascript
Angular2实现的秒表及改良版示例
May 10 Javascript
js实现金山打字通小游戏
Jul 24 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
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
PHP中的use关键字概述
2014/07/23 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
深入理解JSON数据源格式
2014/01/10 Javascript
node.js中的require使用详解
2014/12/15 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
Vue项目接入Paypal实现示例详解
2020/06/04 Javascript
python批量下载图片的三种方法
2013/04/22 Python
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
Python 实现随机数详解及实例代码
2017/04/15 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
python爬取网页转换为PDF文件
2018/06/07 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
详解Python3 基本数据类型
2019/04/19 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
2020/05/22 Python
python遍历路径破解表单的示例
2020/11/21 Python
如何用python批量调整视频声音
2020/12/22 Python
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL