六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 279|回复: 0

Ext开发过程中的一些小技巧

[复制链接]

升级  76%

10

主题

10

主题

10

主题

童生

Rank: 1

积分
38
 楼主| 发表于 2013-2-8 00:26:39 | 显示全部楼层 |阅读模式
1、js获取当前path
var contextPath = function() {var root = window.location.href;root = root.replace("http://","").replace("https://","").replace("//","/");var first = root.indexOf("/");root = root.substr(first, root.indexOf("/",first+1) - first);return root;}();输入css、jsdocument.write("<link href='xxx.css' rel='stylesheet' type='text/css' />");document.write("<script src='xxx.js' type='text/javascript'></script>");


2、ext下拉框通过选择数据来改变某个文本域不可用
if(id == "1"){        var urlEl = Ext.getCmp("url").getEl().dom;urlEl.disabled = true;urlEl.style.background = "#eee";}else if(id == "2"){        var urlEl = Ext.getCmp("url").getEl().dom;urlEl.disabled = false;urlEl.style.background = "#fff";}

3、ext用户名唯一性效验

var VDALIDATE_NAME_URL = "xxx/xxx.action";var isPersonNameOK = true;/** * 名称唯一性效验 * @param {Object} name */function validateName(thisText){if (thisText == "" || thisText == null){isPersonNameOK = false;return;}Ext.Ajax.request({  url : VDALIDATE_NAME_URL,   method : 'post',   params: 'name=' + thisText, async :false,//是关键、此功能在ext3.0的使用需要依赖ext-basex.js文件success: function(response, options) {var responseArray = Ext.util.JSON.decode(response.responseText);if (typeof(responseArray) != "undefined") {if (responseArray.menu.result == "false" || responseArray.menu.result == false){    isPersonNameOK = true;} else {   isPersonNameOK = false;}}}});}var textfieldname = new Ext.form.TextField({fieldLabel : "name",name : "name",blankText : "required",allowBlank: false,maxLength :  255,maxLengthText : 'Only allow 255 bytes',regex: /^[^\*?\"'<>|]+$/,regexText:"Cannot contain any of the following characters: \ / : * ? \" ' < > | ( )",width : 230,validator :function(thisText){//唯一性效验validateName(thisText);if (isPersonNameOK == false) {textfieldname.invalidText = "The name already exists. Please enter a new name.";}return isPersonNameOK;   }});

4、json的运用

//前台var aObj = new Array();aObj.push({key: "id"   ,value:"100"});aObj.push({key: "name" ,value:"wjcom"});var dataJSON = JSON.stringify(aObj, function(key, value){return value;});//后台取值JSONArray instArray = JSONArray.fromObject(dataJSON);for (int i = 0; i < instArray.size(); i++){            JSONObject jsonObj = (JSONObject)instArray.get(i);            String sKey = String.valueOf(jsonObj.get("key"));            String sValue = String.valueOf(jsonObj.get("value"));}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表