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错误的认识不用关心内存管理
Dec 15 Javascript
ExtJS的拖拽效果示例
Dec 09 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
JavaScript中 ES6 generator数据类型详解
Aug 11 Javascript
JS+DIV实现的卷帘效果示例
Mar 22 Javascript
详解如何优雅地在React项目中使用Redux
Dec 28 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
Jan 24 Javascript
Angular服务Request异步请求的实例讲解
Aug 13 Javascript
基于React Native 0.52实现轮播图效果
Aug 25 Javascript
bootstrap datepicker的基本使用教程
Jul 09 Javascript
基于vue实现图片验证码倒计时60s功能
Dec 10 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中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
对于Python的Django框架部署的一些建议
2015/04/09 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
Python利用itchat对微信中好友数据实现简单分析的方法
2017/11/21 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
django模板结构优化的方法
2019/02/28 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
python 串行执行和并行执行实例
2020/04/30 Python
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
保密工作整改情况汇报
2014/11/06 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python
MySQL数据库事务的四大特性
2022/04/20 MySQL
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android
volatile保证可见性及重排序方法
2022/08/05 Java/Android