Dynamic CRM 2013学习笔记(二十八)用JS动态设置字段的change事件、必填、禁用以及可见
我们知道通过界面设置字段的change事件,是否是必填,是否可见非常容易。但有时我们需要动态地根据某些条件来设置,这时有需要通过js来动态地控制了。
下面分别介绍如何用js来动态设置。
一、动态设置字段的change事件
// form on load event
function onLoad() {
init();
pageAttr.delivery_from.addOnChange(deliveryFromChange);
pageAttr.type.addOnChange(typeChange);
pageAttr.order_purpose.addOnChange(orderPurposeChange);
pageAttr.ship_toid.addOnChange(getShiptoInfo);
pageAttr.sold_toid.addOnChange(orderByChange);
}
其中的init方法及pageAttr、page请参考我的这篇博客《Dynamic CRM 2013学习笔记(二十三)CRM JS智能提示(CRM 相关的方法、属性以及页面字段),及发布前调试》
这里的addOnChange就跟在form页面,添加字段OnChange事件一样,但在js里更灵活
二、动态设置字段为必填或取消必填
设置必填方法:setRequiredLevel('required')
取消必填:setRequiredLevel('none')
var df = pageAttr.delivery_from.getText();
if (df == "Others") {
pageAttr.deliveryfrom_plsspecify.setRequiredLevel('required');
}
else {
pageAttr.deliveryfrom_plsspecify.setRequiredLevel('none');
}
三、动态设置字段是否可见
设置可见:setVisible(true)
设置不可见:setVisible(false)
var op = pageAttr.order_purpose.getText();
if (op == "Replacement of Return materials") {
page.rma_noid.setVisible(true);
}
else {
page.rma_noid.setVisible(false);
}
但需要注意的是这里就不是attribute了,这里只能设置在control上。
四、动态设置字段是否禁用
设置禁用:setDisabled(true)
设置启用:setDisabled(false)
这里也是设置在control上
Dynamic CRM 2013学习笔记 系列汇总 -- 持续更新中
Dynamic CRM 2013学习笔记(二十八)用JS动态设置字段的change事件、必填、禁用以及可见的更多相关文章
- Dynamic CRM 2013学习笔记(十八)根据主表状态用JS控制子表自定义按钮
有时要根据主表的审批状态来控制子表上的按钮要不要显示,比如我们有一个需求审批通过后就不能再上传文件了. 首先打开Visual Ribbon Editor, 如下图,我们可以利用Enable Rules ...
- Dynamic CRM 2013学习笔记(十二)实现子表合计(汇总,求和)功能的通用插件
上一篇 Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能 , 介绍了如何用js来实现子表合计功能,这种方法要求在各个表单上添加js方法,如果有很多 ...
- Dynamic CRM 2013学习笔记(十五)报表设计:报表入门、开发工具及注意事项
本文是关于CRM 2013报表开发入门介绍,包括开发工具的使用,以及不同于普通Reporting service的相关注意事项. 一.CRM报表简介 报表有两种,SQL-based报表和Fetch-b ...
- Dynamic CRM 2013学习笔记(十)客户端几种查询数据方式比较
我们经常要在客户端进行数据查询,下面分别比较常用的几种查询方式:XMLHttpRequest, SDK.JQuery, SDK.Rest. XMLHttpRequest是最基本的调用方式,JQuery ...
- Dynamic CRM 2013学习笔记(十四)复制/克隆记录
经常有这样的需求,一个单据上有太多要填写的内容,有时还关联多个子单据,客户不想一个一个地填写,他们想从已有的单据上复制数据,克隆成一条新的记录.本文将介绍如何克隆一条记录,包括它的子单据以生成一条新的 ...
- Dynamic CRM 2013学习笔记(十六)用JS控制Tab可见,可用
一个Form里经常会有好几个Tab,有时要根据一些条件设置哪些Tab可用,可见.下面就介绍下如何用JS对Tab进行控制. 1. 控制可见 function setTabVisableByName( ...
- Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示
CRM的项目,审批流是一个必须品.为了更方便灵活地使用.配置审批流,我们自定义了一整套审批流.首先来看下它的效果: 1. 审批模板 这是一个最简单的审批流,首先指定审批实体,及相关字段,再配置流程节点 ...
- Dynamic CRM 2013学习笔记(九)CrmFetchKit.js介绍:Fetchxml、多表联合查询, 批量更新
CrmFetchKit.js是一个跨浏览器的一个类库,允许通过JavaScript来执行fetch xml的查询,还可以实现批量更新,分页查询等.目前已支持Chrome 25, Firefox 19 ...
- Dynamic CRM 2013学习笔记 系列汇总
这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...
随机推荐
- python some install tips
/* wooyun的小伙伴出了神器. 但是都是打包配置的.我本机又搭建了wamp,不能混合了,那就自己动手丰衣足食咯. */ python 2.7 已经安装. pip https://pip.pypa ...
- ASP.NET Web API系列教程目录
ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...
- 详解log4j2(下) - Async/MongoDB/Flume Appender 按日志级别区分文件输出
1. 按日志级别区分文件输出 有些人习惯按日志信息级别输出到不同名称的文件中,如info.log,error.log,warn.log等,在log4j2中可通过配置Filters来实现. 假定需求是把 ...
- 搭建本地MAVEN NEXUS 服务
下载 http://120.192.76.70/cache/www.sonatype.org/downloads/nexus-latest-bundle.zip?ich_args=232fba36ed ...
- 使用rownum对oracle分页
以Student表为例进行分页 建表及插入 -- 有表结构如下 create table STUDENT ( sno INTEGER, sname ), sage INTEGER ); -- 插入数据 ...
- /etc/hosts文件设置不对导致Jboss启动失败
Caused by: javax.management.MBeanRegistrationException: preRegister() failed: [ObjectName='jboss.rem ...
- C# 程序间通信的各种途径及解析
一.开篇 程序间通信的主要目的是实现多台计算机(也可以是同一台)中应用程序之间的数据共享与信息交换.在不同的计算机系统中,它们之间要通过网络之间的协议才能 实现数据共享与信息交换:在同一台计算机系统中 ...
- 技术英文单词贴--W
W widget 小工具,小部件
- 使用Servlet实现图片下载
package chensi.com; import java.io.FileInputStream; import java.io.IOException; import java.net.URLE ...
- setAttribute()和getAttibute(),getParameter()
request.setAttribute("key",value)方法给主键设置一个值, request.getAttribute("key")方法从上述设置的 ...