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 相关文章推荐
用jQuery技术实现Tab页界面之二
Sep 21 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
Oct 19 Javascript
javascript实现拖放效果
Dec 16 Javascript
js获取及修改网页背景色和字体色的方法
Dec 29 Javascript
jQuery+Ajax实现限制查询间隔的方法
Jun 07 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
Jun 23 Javascript
详解在Vue中有条件地使用CSS类
Sep 30 Javascript
JS排序算法之希尔排序与快速排序实现方法
Dec 12 Javascript
vue中keep-alive的用法及问题描述
May 15 Javascript
Vue触发式全局组件构建的方法
Nov 28 Javascript
javascript实现数字时钟效果
Feb 06 Javascript
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 Vue.js
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
linux实现php定时执行cron任务详解
2013/12/24 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
NodeJS学习笔记之Connect中间件应用实例
2015/01/27 NodeJs
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
python 美化输出信息的实例
2018/10/15 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
印度服装购物网站:Limeroad
2018/09/26 全球购物
总经理办公室主任岗位职责
2013/11/12 职场文书
应用数学自荐书范文
2013/11/24 职场文书
一年级评语大全
2014/04/23 职场文书
毕业设计说明书
2014/05/07 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python
apache ftpserver搭建ftp服务器
2022/05/20 Servers