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 相关文章推荐
js中获取事件对象的方法小结
Mar 13 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
Jan 09 Javascript
JS简单获取当前日期和农历日期的方法
Apr 17 Javascript
使用Xcache缓存器加速PHP网站的配置方法
Apr 22 Javascript
微信小程序 标签传入数据
May 08 Javascript
JS交互点击WKWebView中的图片实现预览效果
Jan 05 Javascript
Javascript网页抢红包外挂实现分享
Jan 11 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
react实现点击选中的li高亮的示例代码
May 24 Javascript
深入浅析var,let,const的异同点
Aug 07 Javascript
js实现登录拖拽窗口
Feb 10 Javascript
JavaScript运动原理基础知识详解
Apr 02 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合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
分享PHP header函数使用教程
2013/09/05 PHP
php实现的双向队列类实例
2014/09/24 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
JS高级笔记
2011/07/13 Javascript
javascript等号运算符使用详解
2015/04/16 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
python查询sqlite数据表的方法
2015/05/08 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
python 两种方法删除空文件夹
2020/09/29 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
JAVA招聘远程笔试题
2015/07/23 面试题
企业厂长岗位职责
2013/12/17 职场文书
教育课题研究自我鉴定范文
2013/12/28 职场文书
聚美优品广告词改编
2014/03/14 职场文书
老干部工作先进事迹
2014/08/17 职场文书
环境保护建议书
2014/08/26 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
班主任2015新年寄语
2014/12/08 职场文书
高考升学宴答谢词
2015/01/20 职场文书
新娘婚礼致辞
2015/07/27 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技