Dynamics CRM:用于日期更改的JavaScript onClick函数

问题描述 投票:0回答:2

我仍然是JavaScript的新手,所以我可以使用这个要求的一些帮助。

我在表单顶部设置了两个HTML webresource按钮(new_dayPagePreviousButton和new_dayPageNextButton),它们之间是一个日历字段(new_daypagedate)。我们在页面上有子网格,配置为根据日历字段中选择的日期返回结果。

要求是每当用户单击“上一天”或“下一天”按钮时,在日历字段中添加或减去一天。

javascript dynamics-crm crm microsoft-dynamics
2个回答
0
投票

我假设字段new_daypagedate具有动态CRM的数据类型日期和时间,new_dayPagePreviousButtonnew_dayPageNextButton只是HTML按钮,并且当用户点击任何按钮时,您希望在CRM的日历字段中进行更改。

正如您所提到的,您已经创建了Web资源,因此我假设您已添加了两个按钮,并且在单击按钮事件时,它应该对new_daypagedate字段做出反应。

在这里,我为您创建了一个网络资源,请尝试在您的实例中应用以下javascript,

function AddDays(arg) {
    var d=window.parent.Xrm.Page.data.entity.attributes.get("new_daypagedate").getValue();
    d.setDate(d.getDate() + arg);
    window.parent.Xrm.Page.data.entity.attributes.get("new_daypagedate").setValue(d);
}

可选的HTML,

<button type="button" id="new_dayPagePreviousButton" onclick="AddDays(-1)">Previous Day</button><br/>
<button type="button" id="new_dayPageNextButton" onclick="AddDays(1)">Next Day</button>

请注意,您需要使用相应按钮的onClick事件调用javascript函数。

侧面注意:当您使用Dynamics CRM时,您需要使用Xrm.Page属性访问您的CRM字段,您不能仅使用该字段的ID直接访问任何字段或HTML标记,您可以在上面的Javascript中看到。


0
投票

经过一些额外的研究,我修改了一个按钮HTML,以包含你在第一篇文章Sagar中给出的JScript。现在的内容如下:

<html><head>
<script type="text/jscript">
function AddDays(arg) {
var 
d=window.parent.Xrm.Page.data.entity.attributes.get("new_daypagedate").getValue();
d.setDate(d.getDate() + arg);
window.parent.Xrm.Page.data.entity.attributes.get("new_daypagedate").setValue(d);
}
</script>

<meta><style type="text/css">P { margin: 0; }</style><meta><style type="text/css">P { 
margin: 0; }</style></head><body onfocusout="parent.setEmailRange();" 
style="overflow-wrap: break-word;">
<button type="button" id="new_dayPageNextButton" onclick="AddDays(1)">Next 
Day</button>

</body></html>

发布后,该按钮成功更改日期!但是,一旦更改日期,下面的子网格不会刷新以反映新日期。这是一个单独的问题,所以我将为它发布一个单独的问题。

萨格尔,谢谢你带我走过这条路。你的信息非常丰富。

© www.soinside.com 2019 - 2024. All rights reserved.