这节介绍onchange事件的编程,在前面的章节中提过:Dynamics CRM 脚本编程基本上是围绕3个点来进行开发的。它们分别是:onload,onsave,onchange。onchange事件是正对“实体”属性的,和Javascript中的onchange事件一样,都是在控件值发生改变时而触发的。

接下来我们就简单定义一个onchange事件吧,这次我们依然选择“客户”实体进行开发。

我们为“客户”实体的属性“主要电话”添加onchange事件,该事件的职责为:如果“主要电话”的值不为空,就将“主要电话”中的值自动赋给属性“其他电话”和属性“传真”。

具体操作如下:

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图4-1

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图4-2

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图 4-3

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图 4-4

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图 4-5

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图 4-6 编辑“onchange”事件触发时需要调用的函数。

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图 4-7

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图4-8 为属性“主要电话”添加onchange事件

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图 4-9 为“主要电话”添加完onchange事件后,回到表单编辑窗口进行“保存”和“发布”操作。

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图 4-10

Dynamics CRM 2011 编程系列(4):JS脚本编程之onchange事件

图 4-11

该节涉及的代码

function telephone1_onchange() { //获取属性"主要电话"的值 var telephone1=Xrm.Page.getControl("telephone1").getAttribute().getValue(); //获取属性"其他电话"在表单中的控件 var telephone2=Xrm.Page.getControl("telephone2"); //获取属性"传真"在表单中的控件 var fax=Xrm.Page.getControl("fax"); if(telephone1 != null) { //赋值 telephone2.getAttribute().setValue(telephone1); fax.getAttribute().setValue(telephone1); } }

小结:按照上图的顺序操作下来就可以为“主要电话”添加一个onchange事件了。在日常的开发中,onchange事件常用来验证输入是否正确或保证表单上某“属性值”的准确性。如:A+B=C,为A和B添加onchange事件来保证公式"A+B"的准确性。

相关文章:

  • 2021-12-16
  • 2021-10-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
猜你喜欢
  • 2021-11-08
  • 2021-09-28
  • 2021-09-07
  • 2021-10-13
  • 2021-04-03
  • 2022-12-23
相关资源
相似解决方案