gpt4 book ai didi

javascript - CRM 2011 - 联系人表单加载无法在生日字段更改时分配给函数结果

转载 作者:行者123 更新时间:2023-12-03 12:35:15 26 4
gpt4 key购买 nike

这是操作出生日期和年龄的代码,如果年龄为空,我会收到字段自定义事件的错误。我似乎无法弄清楚为什么这个 JavaScript 在事件上抛出“无法分配给函数结果”错误:onchange,当此错误出现在表单加载时。如果出生日期字段为空,是否有办法允许代码不执行任何操作?

function birthdate_onchange()
{
var age = Xrm.Page.getAttribute("new_age");
var bDay = Xrm.Page.getAttribute("birthdate");

if (bDay.getValue() != null)

{
var now = new Date();
var thisYear = now.getFullYear();
var birthYear = bDay.getValue().getFullYear();

if((bDay.getValue().getMonth()-now.getMonth())>=0)
{
if((bDay.getValue().getMonth()-now.getMonth())==0 && (bDay.getValue().getDate()-now.getDate())<=0)
{
age.setValue(thisYear-birthYear);
}
else
{
age.setValue(thisYear-birthYear-1);
}
}
else
{
age.setValue(thisYear-birthYear);
}

}
else
{
age.getValue()=null;
}
}

我希望得到一些反馈,因为我是 JavaScript 新手,但非常想学习这门语言。可以根据需要提供更多代码或详细说明,因为这只是我们的联系人脚本的一部分。

谢谢

PGM

编辑 1(2014 年 5 月 20 日):

现在年龄/出生日期字段更改已解决,我收到一个“fireonchange”对象不支持属性或方法“fireonchange”。

我有一种感觉它来自这段代码:

//TODO: could use to be upgraded to 2011 syntax
if (Xrm.Page.getAttribute("srobo_birthdatepre1900").getValue() != null) {
crmForm.all.srobo_birthdatepre1900.style.display = 'inline';
crmForm.all.srobo_birthdatepre1900_c.style.display = 'inline';
crmForm.all.birthdate.style.display = 'none';
crmForm.all.birthdate_c.style.display = 'none';
}
else {
crmForm.all.birthdate.style.display = 'inline';
}

try {

//Sets Age
//TODO: test if this works
Xrm.Page.getAttribute("birthdate").fireOnChange();
}
catch (err1) {
alert("Contact onLoad Error 1" + err1 + " " + err1.description);
}

try {



}
catch (err2) {
alert("Contact onLoad Error 2 " + entity + ": " + err2 + " " + err2.description);
}


} //end on load

我一直在尝试将 CRM 4.0 JavaScript 版本控制切换到 2011 友好语法,但我的 CRM 中仍然出现错误。谁能告诉我语法方面的问题出在哪里?

我已经切换了这一行:Xrm.Page.getAttribute("生日").fireOnChange();

但仍然不明白为什么它会抛出 fireonchange 错误?

非常感谢您迄今为止提供的所有帮助!我真的很感激!

最佳答案

尝试换线

age.getValue()=null;

age.setValue(null);

关于javascript - CRM 2011 - 联系人表单加载无法在生日字段更改时分配给函数结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23764790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com