Dynamic CRM 2013学习笔记(十七)JS读写各种类型字段方法及技巧
我们经常要对表单里各种类型的字段进行读取或赋值,下面列出各种类型的读写方法及注意事项:
1. lookup 类型
- 清空值
var state = Xrm.Page.getAttribute("new_state");if (state != null){Xrm.Page.getAttribute("new_state").setValue(null);}
- 读取值
var state = new Array();state = Xrm.Page.getAttribute("new_state").getValue();if(state != null){var stateText = state[0].name;var stateId = state[0].id;var stateType = state[0].entityType;alert("State is: " + stateText + ", ID: " + stateId + "of type: " + stateType);}
特别要注意这里取出来的值,一定要加[0],不然取不到值
- 赋值
var state = new Array();state[0] = new Object();state[0].id = "{BA0762E4-64D2-E111-909E-00155D6C871A}";state[0].name = "New York";state[0].entityType = "new_state";Xrm.Page.getAttribute("new_state").setValue(state);
2. Option sets
- 读取值
var sval = Xrm.Page.getAttribute("new_optionset").getSelectedOption().text;var sval = Xrm.Page.getAttribute("new_optionset").getSelectedOption().value;
分别读取显示文本和值
另外,我们还可以用下面的方法来获取text和value:
var sval = Xrm.Page.getAttribute("new_optionset").getText();var sval = Xrm.Page.getAttribute("new_optionset").getValue();
- 赋值
function SetOSValue(osName, osLabel){var options = Xrm.Page.getAttribute(osName).getOptions();for(i = 0; i < options.length; i++){if (options[i].text == osLabel)Xrm.Page.getAttribute(osName).setValue(options[i].value);}}
3. Datetime
- 读取值
var myContactBirthday;myContactBirthday = Xrm.Page.getAttribute("birthdate").getValue();alert("Contact birthday is: " + myContactBirthday);var year = myContactBirthday.getFullYear();var month = myContactBirthday.getMonth(); // from 0 to 11var day = myContactBirthday.getDate(); // from 1 to 31month = month + 1;alert("Year: " + year + ", Month: " + month + ", Day: " + day);
- 赋值
var currentDateTime = new Date();Xrm.Page.getAttribute("new_myDate").setValue(currentDateTime);
4. Currency
- 读取值
var myCurrencyField;myCurrencyField = Xrm.Page.getAttribute("new_currencyfield").getValue();alert("The value of this Currency field is: " + myCurrencyField);
- 赋值
var myCurrencyValue = 6.25;Xrm.Page.getAttribute("new_currencyfield").setValue(parseFloat(myCurrencyValue));
5. number, text
- 读取值
var myNumber;myNumber = Xrm.Page.getAttribute("new_number").getValue();alert("The number in the field is: " + myNumber);
- 赋值
Xrm.Page.getAttribute("new_text").setValue("abc");Xrm.Page.getAttribute("new_number").setValue(123);
Dynamic CRM 2013学习笔记 系列汇总
Dynamic CRM 2013学习笔记(十七)JS读写各种类型字段方法及技巧的更多相关文章
- Dynamic CRM 2013学习笔记 系列汇总
这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...
- Dynamic CRM 2013学习笔记(九)CrmFetchKit.js介绍:Fetchxml、多表联合查询, 批量更新
CrmFetchKit.js是一个跨浏览器的一个类库,允许通过JavaScript来执行fetch xml的查询,还可以实现批量更新,分页查询等.目前已支持Chrome 25, Firefox 19 ...
- Dynamic CRM 2013学习笔记(十六)用JS控制Tab可见,可用
一个Form里经常会有好几个Tab,有时要根据一些条件设置哪些Tab可用,可见.下面就介绍下如何用JS对Tab进行控制. 1. 控制可见 function setTabVisableByName( ...
- Dynamic CRM 2013学习笔记(十八)根据主表状态用JS控制子表自定义按钮
有时要根据主表的审批状态来控制子表上的按钮要不要显示,比如我们有一个需求审批通过后就不能再上传文件了. 首先打开Visual Ribbon Editor, 如下图,我们可以利用Enable Rules ...
- Dynamic CRM 2013学习笔记(二十三)CRM JS智能提示(CRM 相关的方法、属性以及页面字段),及发布前调试
我们知道在CRM的js文件里引用XrmPageTemplate.js后,就可以实现智能提示,但每个js文件都引用太麻烦了,其实可以利用vs的功能让每个js文件自动实现智能提示CRM的js: 另外,我们 ...
- Dynamic CRM 2013学习笔记(二十五)JS调用web service 实现多条记录复制(克隆)功能
前面介绍过如何克隆一条当前的记录: Dynamic CRM 2013学习笔记(十四)复制/克隆记录 , 主要是通过界面上加一个字段,单击form上的clone 按钮时,改变这个字段的值以触发插件来实现 ...
- Dynamic CRM 2013学习笔记(二十八)用JS动态设置字段的change事件、必填、禁用以及可见
我们知道通过界面设置字段的change事件,是否是必填,是否可见非常容易.但有时我们需要动态地根据某些条件来设置,这时有需要通过js来动态地控制了. 下面分别介绍如何用js来动态设置. 一.动态设 ...
- Dynamic CRM 2013学习笔记(二十七)无代码 复制/克隆方法
前面介绍过二种复制/克隆方法:<Dynamic CRM 2013学习笔记(十四)复制/克隆记录> 和<Dynamic CRM 2013学习笔记(二十五)JS调用web service ...
- Dynamic CRM 2013学习笔记(三十七)自定义审批流7 - 初始化(整套审批流下载、安装)
前面介绍了自定义审批流的配置.使用,这篇介绍下如何进行初始化. 一. 下载 从下面的地址下载整个审批流: http://yunpan.cn/cZ5Rdx5HCt3VF 下载完后,一共有三块内容: 二. ...
随机推荐
- 分享一个TP5实现Create()方法的心得
在TP5中发现用不了以前3.X的Create()方法,虽然用input更严谨,但是字段比较多的话还是有些不艺术的3.X中的实现方法如下: $Model = D('User'); $Model-> ...
- Excel 数值转换为人民币大写金额字符串
把$B$27单元格中的数值转换为人民币大写金额字符串: 目标单元格填入以下公式: =IF($B$27=0,CONCATENATE(IF($B$27<=0,,TEXT(INT($B$27),&qu ...
- SQL SERVER 批量插入记录
--create function insertData(@count as int,@tsn as bigint,@id as int) --as --begin SET IDENTITY_INSE ...
- 企业内部从零开始安装docker hadoop 提纲
下载apache 项目 http://mirror.bit.edu.cn/apache/ 下载 centos 7 安装 盘 iso 大约7G 安装 centos7 copy 光盘盘中的 packag ...
- asdsa
ML_运营一部数据平台应用服务组 <ML_1731@pingan.com.cn> epcischagentdailyreportkb copy from OLAPSEL/frt9iora@ ...
- HttpClient请求发送的几种用法:
/// <summary> /// HttpClient实现Post请求 /// </summary> static async void dooPost() { string ...
- Selenium2+python自动化13-多窗口、句柄(handle)
前言 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了.获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了. 本篇以打开百 ...
- 将Discuz.net 集成到asp.net
1,将bbs文件夹拷贝到网站的根目录下: 2,将bbs里面的bin目录,config目录,cache目录,DNT.config文件拷贝到网站根目录下: 3,修改网站web.config文件,在http ...
- 初入Cocos2d-x 2.2
下载2.2,用迅雷离线下载很快搞定. 解压后,打开cocos2d-win32.vc2012.sln,编译,超慢,20分钟才完事. 然后想创建一个新项目,需要用到python,用python3.3运行脚 ...
- three.js 源码注释(三十九)Light/HemisphereLight.js 半球光、 自然光(天光效果)
/*** * HemisphereLight类 是在场景中创建半球光,就是天光效果,经常用在室外,将各个位置的物体都照亮,室内的光线大多是方向性的, * 无论是窗口还是灯槽,用平面光很方便,室外用平面 ...