我是CRM 2011的新手,所以如果答案很明顯,我很抱歉。我做的實體是用戶填寫信息的形式,有些字段是隱藏的,直到滿足某些要求才能看到它們。客戶關係管理2011保存後,字段恢復爲隱形
例如:你遲到了嗎?是/否 (隱藏,直到選中)原因:
我使用JavaScript使它們在開始時不可見,然後在滿足要求時使它們可見。用戶按下保存按鈕後,「原因」字段將回到隱身狀態,有沒有辦法讓它保持可見?
感謝
我是CRM 2011的新手,所以如果答案很明顯,我很抱歉。我做的實體是用戶填寫信息的形式,有些字段是隱藏的,直到滿足某些要求才能看到它們。客戶關係管理2011保存後,字段恢復爲隱形
例如:你遲到了嗎?是/否 (隱藏,直到選中)原因:
我使用JavaScript使它們在開始時不可見,然後在滿足要求時使它們可見。用戶按下保存按鈕後,「原因」字段將回到隱身狀態,有沒有辦法讓它保持可見?
感謝
你必須編寫JavaScript代碼在onLoad
事件,看看該字段的值已經在將導致領域可見的狀態。在實體保存後,它會重新加載自身,因此發生插件以編輯屬性。
如果您已連接的功能,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 …
}
您可以將您的JS代碼?這聽起來像onload事件代碼中需要一些額外的邏輯。 –
函數hideField(fieldName) { Xrm.Page.ui.controls.get(fieldName).setVisible(false); } – user2953802