2013-07-24 3 views
3

Итак, у меня есть форма с 3 разделами. Мне нужна функциональность, где раздел 1 заполняется, чем показано в разделе 2 и так далее.Как скрыть раздел в динамике crm 2011

Я знаю базовый код JavaScript, но я не знаю, где его использовать или как его вызывать. Я создал веб-ресурс с функциями SHOW и HIDE, теперь как их вызвать.

В настоящее время я работаю над использованием JAVA SCRIPT, чтобы скрыть разделы и показать последние разделы, когда первый заполняется. Вот мой код.

function Hide() 
{ Xrm.Page.ui.tabs.get("yourtabname").sections.get("your section name").setVisible(false); } 
function Show() 
{ Xrm.Page.ui.tabs.get("yourtabname").sections.get("your section name").setVisible(true); } 

Теперь я знаю, что Show() будет привязываться к последнему полю раздела 1 формы, но как насчет функции Hide()? где я его вызову?

+1

измените ваш вопрос вместо того, чтобы добавить код внутри комментария –

+0

Так вы «Сказать, что вы хотите сначала скрыть разделы 2 и 3? Попробуйте поместить его в событие загрузки документа http://stackoverflow.com/questions/3880307/trigger-event-on-body-load-complete-js-jquery –

+0

сделать все 3 раздела невидимыми для формы. в onload() сделать секцию 1 видимой. то вам придется возиться с событиями onchange полей в разделе 1, чтобы определить, должен ли раздел 2 быть видимым или нет. то же для раздела 3 на основе раздела 2 и т. д. – keerz

ответ

1

Во-первых, я предполагаю, что это личное предпочтение, однако я бы функцию «проверки» и обеспечить вам всю необходимую информацию до сокрытия первого раздела (что произойдет, если они входят в последнее поле первым, например?)

Тогда я бы просто сделать что-то вроде следующего, и называть его по всем полям в разделе:

function SectionOneField_OnChange() 
{ 
    if (IsSectionOneValid()) 
    { 
     Xrm.Page.ui.tabs.get("NextTab").sections.get("NextSection").controls.get(0).setFocus(); 
     Xrm.Page.ui.tabs.get("FirstTab").sections.get("SectionOne").setVisible(false); 
    } 
} 

Боковая примечание: Как и большинство CRM Javascript это, вероятно, не Microsoft поддерживается :-)

+0

Благодарю вас, ребята, за все ответы/предложения. Где я могу найти событие Onload в форме, чтобы поставить там скрипт? Прямо сейчас я могу найти событие Onchange(), когда я пытаюсь поместить его в последнее поле раздела 1 – hkhan

+0

@ user2609743 Чтобы получить события формы (есть OnLoad и OnSave), нажмите «Свойства формы» в CRM-ленте. – Campey

0

Мы можем использовать этот код для скрытия/показа вкладки:

Показать:

Xrm.Page.ui.tabs.get("TabName").setVisible(true); 

Hide:

Xrm.Page.ui.tabs.get("TabName").setVisible(false); 
+0

Раздел отличается от Tab. –

Смежные вопросы