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

Dynamics CRM : JavaScript onClick Function for Date change

我对 JavaScript 还是很陌生,所以我需要一些帮助来满足这个要求。

我在表单顶部设置了两个 HTML 网络资源按钮(new_dayPagePreviousButton 和 new_dayPageNextButton),它们之间是一个日历字段 (new_daypagedate) .我们将页面上的子网格配置为 return 结果,具体取决于在日历字段中选择的日期。

要求是在用户单击“前一天”或“后一天”按钮时从日历字段中添加或减去一天。

我假设字段 new_daypagedate 的数据类型为 Date and Time Dynamics CRM 并且 new_dayPagePreviousButtonnew_dayPageNextButton 只是 HTML 按钮,并且您希望当用户单击任何按钮时,CRM 的日历字段中应该发生变化。

正如您提到的,您已经创建了网络资源,所以我假设您已经添加了两个按钮,并且在单击按钮事件时它应该在 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 时,您需要访问您的 CRM 使用 Xrm.Page 属性的字段,您不能直接访问任何字段 或 HTML 标记,只需使用该字段的 ID,您可以在 以上 Javascript.

经过一些额外的研究,我修改了一个按钮的 HTML,以包含您在第一个 post 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>

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

Sagar,感谢您引导我完成这个过程。你提供了很多信息。