Dynamics CRM: функция JavaScript onClick для изменения даты - PullRequest
0 голосов
/ 25 марта 2019

Я все еще довольно плохо знаком с JavaScript, поэтому могу немного помочь с этим требованием.

У меня есть две кнопки веб-ресурса HTML, настроенные в верхней части формы (new_dayPagePreviousButton и new_dayPageNextButton), а между ними находится поле календаря (new_daypagedate). У нас есть подсетки на странице, настроенные на выдачу результатов в зависимости от даты, выбранной в поле календаря.

Требуется, чтобы каждый день добавлялся или вычитался из поля календаря всякий раз, когда пользователь нажимает кнопку «Предыдущий день» или «Следующий день».

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

После некоторого дополнительного исследования я изменил один из HTML-кодов кнопки, чтобы включить JScript, который вы дали в своем первом посте Sagar.Теперь она выглядит следующим образом:

<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>

После публикации кнопка успешно меняет дату!Однако, как только дата изменяется, подсетки ниже не обновляются, чтобы отразить новую дату.Это отдельная проблема, поэтому я опубликую отдельный вопрос для нее.

Сагар, спасибо, что рассказал мне об этом.Вы были очень информативны.

0 голосов
/ 27 марта 2019

Я предполагаю, что поле new_daypagedate имеет тип данных Дата и время 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>

Обратите внимание, что вам нужно вызвать функцию javascript, используя onClick событие соответствующей кнопки.

ПОБОЧНОЕ ПРИМЕЧАНИЕ: поскольку вы используете Dynamics CRM, вам необходим доступ к CRM. поле с использованием атрибута Xrm.Page, вы не можете напрямую получить доступ к любому полю или тег HTML, просто используя идентификатор этого поля, которое вы можете увидеть в выше Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...