Dynamics CRM 2011 编程系列(3):JS脚本编程之onsave事件
2012-08-22 11:43
519 查看
这节我们来学习Dynamic CRM脚本编程中的onsave事件。因为Dynamics CRM是基于实体的系统,所以日常的开发点主要都专注于实体的开发,通常都会涉及到如下场景:1)验证实体上某一属性的值是否合法;2)通过实体的某一个属性或多个属性来计算出实体中的另一个属性值;3)控制实体上的某一属性是否开放或是否按某一策略进行开放或关闭。
这节中要介绍的onsave事件大多用在上面介绍的场景1,2,3,。接下来我们尝试着在“客户”实体上简单的实现一个onsave事件:在客户实体保存时判断“客户”实体中的“主要电话”属性是否合法。具体操作如下图。注:本节的介绍的知识建立在上一节《Dynamics CRM 编程系列(2):JS脚本编程之onload事件》。
图 3-1 打开“客户”实体下的某一条记录
图 3-2 进入“客户”实体的“窗体”界面,获取属性“主要实体”的名称
图3-3
图 3-4 编程Onsave事件需要使用的脚本
图 3-5
图 3-6
图 3-7
图 3-8
CheckPhoneNumber的代码为:
[javascript] view
plaincopy
function CheckPhoneNumber()
{
var rgx=/^\d{11}$/;
var phoneNumberAttribute=Xrm.Page.getControl("telephone1").getAttribute().getValue();
if(phoneNumberAttribute.match(rgx)==null)
{
alert("主要电话填写错误,请重新填写.");
event.returnValue=false;
}
}
小结:实体的Onload事件和Onsave事件是Dynamics CRM 脚本编程的重点,在日常的开发工作中会有很多开发工作会在这里进行。CheckPhoneNumber代码中涉及的脚本“Xrm.Page.getControl("telephone1").getAttribute().getValue()”是Dynamics CRM提供的API,这段代码的的功能是:获取实体属性名称为“telephone1”的值。在后续的章节中我会详细讨论这套API。
这节中要介绍的onsave事件大多用在上面介绍的场景1,2,3,。接下来我们尝试着在“客户”实体上简单的实现一个onsave事件:在客户实体保存时判断“客户”实体中的“主要电话”属性是否合法。具体操作如下图。注:本节的介绍的知识建立在上一节《Dynamics CRM 编程系列(2):JS脚本编程之onload事件》。
图 3-1 打开“客户”实体下的某一条记录
图 3-2 进入“客户”实体的“窗体”界面,获取属性“主要实体”的名称
图3-3
图 3-4 编程Onsave事件需要使用的脚本
图 3-5
图 3-6
图 3-7
图 3-8
CheckPhoneNumber的代码为:
[javascript] view
plaincopy
function CheckPhoneNumber()
{
var rgx=/^\d{11}$/;
var phoneNumberAttribute=Xrm.Page.getControl("telephone1").getAttribute().getValue();
if(phoneNumberAttribute.match(rgx)==null)
{
alert("主要电话填写错误,请重新填写.");
event.returnValue=false;
}
}
小结:实体的Onload事件和Onsave事件是Dynamics CRM 脚本编程的重点,在日常的开发工作中会有很多开发工作会在这里进行。CheckPhoneNumber代码中涉及的脚本“Xrm.Page.getControl("telephone1").getAttribute().getValue()”是Dynamics CRM提供的API,这段代码的的功能是:获取实体属性名称为“telephone1”的值。在后续的章节中我会详细讨论这套API。
相关文章推荐
- Dynamics CRM 2011 编程系列(2):JS脚本编程之onload事件
- Dynamics CRM 2011 编程系列(2):JS脚本编程之onload事件
- Dynamics CRM 2011 编程系列 (6):JS脚本编程之实体的CRUD[Create,Read]
- Dynamics CRM 2011 编程系列(15):用JS事件提交表单
- Dynamics CRM 2011 编程系列(5):JS脚本编程之实战一
- Dynamics CRM 2011 编程系列(12):JS编程之征服表单控件(二)
- Dynamics CRM 2011 编程系列(7):JS编程之实体的CRUD[Update,Delete]
- Dynamics CRM 2011 编程系列(10):JS编程之构造OData查询字符串
- Dynamics CRM 2011 编程系列(13):JS编程之Who Am I
- Dynamics CRM 2011 编程系列 (8):JS编程之实体CRUD辅助类
- Dynamics CRM 2011 编程系列(14):JS编程之表单控件的执行上下文
- Dynamics CRM 2011 编程系列(9):JS编程之客户端实体
- Dynamics CRM 2011 编程系列(11):JS编程之征服表单控件(一)
- Dynamics CRM 2011 编程系列(26):自定义工作流
- Dynamics CRM 2011 编程系列(32):Ribbon的开发二(按钮的禁用规则)
- Dynamics CRM 2011 编程系列(18):插件中的Read操作
- Dynamics CRM 2011 编程系列(22):用插件调用Web Service
- 关于Dynamics CRM 2011 编程系列的写作建议(邮箱: ghost_bear@163.com)
- Dynamics CRM 2011 编程系列(31):Ribbon的开发一(添加按钮,选项卡,Jewel)
- Dynamics CRM 2011 编程系列(23):用插件调用WCF