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_dayPagePreviousButton
和 new_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,感谢您引导我完成这个过程。你提供了很多信息。
我对 JavaScript 还是很陌生,所以我需要一些帮助来满足这个要求。
我在表单顶部设置了两个 HTML 网络资源按钮(new_dayPagePreviousButton 和 new_dayPageNextButton),它们之间是一个日历字段 (new_daypagedate) .我们将页面上的子网格配置为 return 结果,具体取决于在日历字段中选择的日期。
要求是在用户单击“前一天”或“后一天”按钮时从日历字段中添加或减去一天。
我假设字段 new_daypagedate
的数据类型为 Date and Time Dynamics CRM 并且 new_dayPagePreviousButton
和 new_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,感谢您引导我完成这个过程。你提供了很多信息。