2013-11-04 58 views
-1

我是CRM 2011的新手,所以如果答案很明顯,我很抱歉。我做的實體是用戶填寫信息的形式,有些字段是隱藏的,直到滿足某些要求才能看到它們。客戶關係管理2011保存後,字段恢復爲隱形

例如:你遲到了嗎?是/否 (隱藏,直到選中)原因:

我使用JavaScript使它們在開始時不可見,然後在滿足要求時使它們可見。用戶按下保存按鈕後,「原因」字段將回到隱身狀態,有沒有辦法讓它保持可見?

感謝

+0

您可以將您的JS代碼?這聽起來像onload事件代碼中需要一些額外的邏輯。 –

+0

函數hideField(fieldName) { Xrm.Page.ui.controls.get(fieldName).setVisible(false); } – user2953802

回答

0

你必須編寫JavaScript代碼在onLoad事件,看看該字段的值已經在將導致領域可見的狀態。在實體保存後,它會重新加載自身,因此發生插件以編輯屬性。

0

如果您已連接的功能,onchange事件,你需要以下內容添加到您的onload事件屬性:

//Will fire all functions connected to the attribute change event 
Xrm.Page.getAttribute("attribute_name").fireOnChage(); 

或目錄調用實現代碼的功能,即

//Will only call the specified function. 
ShowHideField(); 

此外,您可能會發現,直接從onload代碼(而不是表單UI)附加到onchange處理程序 上更容易,例如

Xrm.Page.getAttribute("attribute_name").addOnChange(ShowHideField); 

並總結:

function OnCrmPageLoad() { 

    var attrObj = Xrm.Page.getAttribute("attribute_name"); 
    attrObj.addOnChange(ShowHideField); 
    attrObj.fireOnChage(); // OR ShowHideField(); 

    //… more code here 
} 

function ShowHideField() { 
    // hide fields depending on yes/no questions … 
} 
相關問題