`
icrwen
  • 浏览: 269947 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

cakephp工作笔记16---JS技巧篇

    博客分类:
  • php
阅读更多
一在js中,如果将一个数字转为二进制?
<script>
var n=2345.333;
alert(n.toString(2));
</script>

二、在extjs中,editgrid的combobox里如何渲染值
            header: '操作员权限',
            dataIndex: 'roleName',
            width: 150,
            editor: roleComb,
            renderer:function(value)
            {
           
            var idx = roleComb.store.find(roleComb.valueField, value);
    var rec = roleComb.store.getAt(idx);
            return (rec == null ? value : rec.get(roleComb.displayField) );
           
          }
三、ajax回调函数中获取对象 -- scope和createDelegate
    a. 为Ajax设置scope。
例子1
function doSuccess(response) {
      this.dom.value = response.responseText;
  }
  Ext.lib.Ajax.request(
      'POST',
      '08.txt',
      {success:doSuccess,scope:text},
      'param=' + encodeURIComponent(text.dom.value)
  );          
例子2:Ext.Ajax.request({
url:'/stores_houses/savename',
method:'post',
scope:this,
params:{'shid':this.shid,'shname':text},
success:function(res)
{
this.shname = text;
this.createNameText();
},
failure:function(res)
{
}

}); 
b.    为success添加createDelegate()。
  function doSuccess(response) {
      this.dom.value = response.responseText;
  }

  Ext.lib.Ajax.request(
      'POST',
      '08.txt',
      {success:doSuccess.createDelegate(text)},
      'param=' + encodeURIComponent(text.dom.value)
  );
createDelegate只能在function上调用,它把函数里的this强行指向我们需要的对象,然后我们就可以在回调函数doSuccess里直接通过this来引用createDelegate()中指定的这个对象了。它可以作为解决this问题的一个备选方案。
如果让我选择,我会尽量选择scope,因为createDelegate是要对原来的函数进行封装,重新生成function对象。简单环境下,scope就够用了,倒是createDelegate还有其他功能,比如修改调用参数等。
示例在10.store/08.html中。


四、如何给Label添加click事件
http://crabdave.iteye.com/blog/325974
     //在渲染后添加click事件
   Ext.form.Label.prototype.afterRender = Ext.form.Label.prototype.afterRender
     .createSequence(function() {
        this.relayEvents(this.el, ['click']);
       });//这一段一定要放在label之前

五、Js 和 PHP 中保留小数点后X位数的方法 toFixed、round、number_format、sprintf
http://blog.csdn.net/richie214/archive/2009/11/16/4815143.aspx

六、在Ajax操作中添加等待条
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
Ext.Ajax.on('beforerequest', myMask.show, myMask);
Ext.Ajax.on('requestcomplete', myMask.hide, myMask);
Ext.Ajax.on('requestexception', myMask.hide, myMask);

七、grid动态添加列
var columns = [];
columns.push(new Ext.grid.RowNumberer());
columns.push(new Ext.grid.Column({header:'tt',dataIndex:"test"}));
columns.push(new Ext.grid.Column({header:'tt2',dataIndex:"test2"}));
dirgrid.getColumnModel().setConfig(columns);

八、javascript里的json是当做对象来操作,可以用“对象.字段名”来访问
   而在php中则是按照数组来访问"对象[字段名]

九.javascript里的算术运算
http://hi.baidu.com/tzymj/blog/item/71b3adb1de6e0c5d09230296.html

十、extjs的grid获取总行数和列数
   行数:var total = mygrid.getStrore().getCount();//数据行数
   列数:var colIndex = grid.getColumnModel().getColumnCount();
十一、获取浏览器的高度
http://blog.51xuewen.com/wangpan/article_2091.htm

十二、Extjs的表单的提交
http://www.codeweblog.com/extjs-notes/
editfm.getForm().doAction('submit',{
   url:'applicationform.php',
   method:'post',
   params:{},
   success:function(form, action)
   {
   //window.location.href="index.html";
   },
   failure:function()
   {
  
   }
   });
十三、如果网页content="text/html; charset=utf-8" ,则 mysql_query("SET NAMES utf8",$myconn);否则乱码,如果网页是gb2312则mysql也必须是gb2312

十四,在store的读取事件加进度条
  listeners:{
                   beforeload:function(store,options)
    {
    //开始进度条
Ext.MessageBox.show({
           title: '请稍等',
          msg: '正在加载开锁记录...',
          width:300,
           wait:true,
            waitConfig: {interval:200},
           closable:false
       });
  },
  load:function(store,records,options)
  {
  Ext.MessageBox.hide();
  }

十六,javascript的oop
   用var可以定义类的private属性,而用this能定义类的public属性;
   用var定义的方法也是private方法,而用this定义的是类的public方法,
http://home.phpchina.com/space.php?uid=76267&do=blog&id=71740


十七、DOM事件列表
http://www.caihong.cc/?p=128

  
分享到:
评论

相关推荐

    cakephp-cakephp-1.3.8-0-g33afe21

    7. **Ajax 支持**:了解如何结合 jQuery 或其他 JavaScript 库,利用 CakePHP 的 JSON 或 XML 响应进行异步请求。 8. **错误处理和日志**:掌握如何设置和处理错误,以及记录应用的日志信息。 9. **烤箱烤制测试**...

    cakephp-cakephp-2.0.0-dev-0-gbe96338

    通过研究这些文件,开发者可以深入理解框架内部的工作原理,自定义功能,或者参与框架的改进。 总的来说,CakePHP作为PHP框架的一员,以其简洁的代码、强大的功能和高效的开发流程,成为许多PHP开发者首选的工具。...

    cakephp-cakephp-2.0.0-beta-0-g402934f.zip

    标题中的"cakephp-cakephp-2.0.0-beta-0-g402934f.zip"表明这是一个针对CakePHP 2.0.0 beta版本的压缩包,其中可能包含了框架的核心组件、示例代码以及相关的文档资料。 在描述中提到,CakePHP是“借鉴Raid on ...

    cakephp-cakephp-1.3.12-32-gb4e3c8a.zip_cakephp 1.3_cakephp1.3_ca

    本篇将详细探讨 CakePHP 1.3 版本的核心特性和 MVC 模式的应用。 首先,让我们了解什么是MVC模式。Model-View-Controller是软件设计的一种模式,用于分离业务逻辑(Model)、用户界面(View)和控制逻辑...

    cakephp-2.2.4-0

    cakephp-2.2.4-0 稳定版框架

    cakephp-3-0-1

    CakePHP 3.0.1 发布,此版本是个 bug 修复版本 CakePHP 3.0.0 稳定版是向后不兼容版本,现在 CakePHP 最低要求: PHP 5.4.16 及其以上 mbstring 扩展 intl 扩展

    CakePHP-Audit-Log-Plugin, 记录在CRUD操作期间对对象所做的更改.zip

    CakePHP-Audit-Log-Plugin, 记录在CRUD操作期间对对象所做的更改 审计日志插件针对的日志插件 2 1. x. 为每个连接的模型创建一个审计历史。行为跟踪两个级别上的更改。 它获取完全水合对象的快照,在更改之后,更改...

    cakephp3-bootstrap-helpers:Bootstrap 3和4的CakePHP 3.x帮助器

    CakePHP 3.x Bootstrap的帮助器 CakePHP 3.x Helpers以@Twitter Boostrap样式生成HTML:可用的Breadcrumbs , Flash , Form , Html , Modal , Navbar , Panel和Paginator帮助器! 如何... ? 安装 如果您想要...

    wechat-cakephp-sdk:微信-cakephp-sdk

    wechat-cakephp-sdk wechat-cakephp-sdk 在wechat-php-sdk上修改适配cakephp, controller中有使用范例 项目地址: ###更新 Wechat.php中增加适配CakePHP的缓存配置,也可以根据实际情况在WechatCache中改为其他的缓存...

    cakephp-jwt-auth, 使用JSON网络令牌进行身份验证的CakePHP插件.zip

    cakephp-jwt-auth, 使用JSON网络令牌进行身份验证的CakePHP插件 CakePHP认证插件 包含AuthComponent类认证的插件,用于使用 JSON网络令牌进行身份验证。 你可以在这里详细阅读关于JSON网络令牌规范的详细说明。要求...

    Z-Ray-CakePHP:CakePHP 3.0的Z-Ray扩展

    Z-Ray-CakePHP CakePHP 3.0的Z-Ray扩展。 这将导致在浏览器中显示其他选项卡。 安装 创建一个根据需要命名的目录,并在其中添加此仓库的内容。 示例:(假设Zend Server的默认安装目录) /usr/local/zend/var/...

    cakephp3-soft-delete

    CakePHP的CakeSoftDelete插件 目的 这个Cakephp插件使您可以使您的模型可软删除。 当软删除一个实体时,实际上并没有从数据库中删除它。 而是在记录上设置了deleted时间戳。 要求 该插件是为cakephp 3.x开发的。 ...

    cakephp2.0-metronic-theme

    cakephp2.0-metronic-theme 如何设置应用程序? 使用以下命令在apache webroot目录中克隆代码。 git 克隆 创建数据库并设置连接 Config/database.php 运行以下命令以使用 composer &gt; composer install 安装 ...

    cakephp-realworld-example-app

    示例CakePHP代码库包含遵循规范和API的真实示例(CRUD,身份验证,高级模式等)。 此仓库功能齐全,欢迎PR和问题! 入门 安装 在开始之前,请检查官方的Cakephp安装指南以了解服务器要求。 克隆存储库 git clone ...

    CakePHP-1.2-Cheatsheet

    ### CakePHP 1.2 快查表知识点详解 #### 一、自定义查询类型 (CustomFindTypes) 在CakePHP 1.2中,提供了多种自定义查询类型,包括: - **all**: 返回所有匹配记录。 - **first**: 返回第一条匹配记录。 - **...

    cakephp2.2-habtm-example:一个简单的示例(烘焙),展示了如何保存和验证两个模型之间的HABTM关系

    cakephp2.x-habtm-示例cakephp2.x-habtm-example示例说明如何使用CakePHP 2.x保存和验证两个模型之间的HABTM关系(此代码中使用的版本实际上是2.2) 我们使用两种模型:Post和Tag。 一个帖子与N个标签相关,一个标签...

    cakephp3-user-management

    首先,`cakephp3-user-management`项目标题表明我们关注的是在CakePHP 3.x版本中创建一个用户管理系统。这通常包括用户认证和授权,以及可能的注册、登录、忘记密码、个人资料编辑等功能。 1. **用户认证**:这是...

    cakephp php-framework

    There are two main ways to get a fresh copy of CakePHP. You can either download an archive copy (zip/tar.gz/tar.bz2) from the main website, or check out the code from the git repository. To download ...

    CakePHP系列(二)----博客(Blog)案例(.docx

    ### CakePHP系列(二)——博客(Blog)案例知识点解析 #### 一、知识点概览 本案例聚焦于使用CakePHP框架开发一个简单的博客系统,着重介绍了如何利用CakePHP的特性来实现博客分类功能。主要知识点包括:创建迁移文件...

    IMCake:CakePHP 2.x 插件使用 CakePHP 模型与 INTER-Mediator 一起工作

    蛋糕 IMCake 是 CakePHP 2.x 的一个插件,用于使用 CakePHP 模型与 INTER-Mediator 一起工作。 要更熟悉 INTER-Mediator,请访问: : 注意该产品应被视为正在进行中的工作,请自行承担风险进行测试和使用,并反馈您...

Global site tag (gtag.js) - Google Analytics