2017-03-03 40 views
1

首先,我不是普通的博主,我是該死的混淆。如果我的問題不符合標準,請指導我。我會盡力改善。

我已經提交了Microsoft代碼審閱的Microsoft CRM PlugIn。我是Javascript新手。我在Java Script中專門從他們那裏得到了一些建議。

其中一些正在關注。任何機構都可以引導我嗎?這將是非常有用的:

1- Microsoft評論:'document.createElement('script')'直接調用CRM文檔對象模型(DOM)的文檔對象函數。此技術在Dynamics CRM的所有版本中均不受支持。刪除或替換Xrm.Page客戶端對象模型中提供的受支持的API。 - 評論:'document.body'直接調用CRM文檔對象模型(DOM)的文檔對象屬性。此技術在Dynamics CRM的所有版本中均不受支持。刪除或替換Xrm.Page客戶端對象模型中提供的受支持的API。

我在.JS代碼(如webresouce)文件:

var NewScript = document.createElement('script') 
NewScript.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" 
document.body.appendChild(NewScript); 

2-微軟評論: '$(文件)' 調用CRM文檔對象模型(DOM)的全球DOM相關功能直接。此技術在Dynamics CRM的所有版本中均不受支持。刪除或替換Xrm.Page客戶端對象模型中提供的受支持的API。

我的以html代碼(如webresource)文件:

<script type="text/javascript"> 
    $(document).ready(function() { 
    //code 
    } 
</script> 

3-微軟評論: '$(' #btnsave ')' 調用CRM文檔對象模型DOM全球相關功能( DOM)直接。此技術在Dynamics CRM的所有版本中均不受支持。刪除或替換Xrm.Page客戶端對象模型中提供的受支持的API。

我的以html代碼(如webresource)文件:

<script type="text/javascript"> 
    function enableButton() { 
     $('#btnsave').attr('disabled', false); 
    } 
</script> 

回答

0

首先,您的文章是相當混亂。你不是在處理使用C#for CRM開發的Plugins。相反,它好像你用客戶端代碼(JavaScript的)

關於第一點工作:注射jQuery的

如前所述,使用appendChild不支持CRM在線。在這個例子中,你應該包含jQuery作爲一個CRM網絡資源。然後,您可以將其添加爲通過表單屬性對話框

表單上的依賴關於第2點:文檔OnReady

document.onReady不是必需的。相反,您應該從CRM中的表單事件觸發您的事件。

  1. 編輯表單
  2. 單擊表單屬性
  3. 切換到活動標籤
  4. 加入你的JavaScript的Web資源的表單庫
  5. 在事件處理程序部分,設置了控制,使得形成和要加載的事件
  6. 添加您的Web資源併爲其提供執行的函數名稱

關於第3點 - 禁用控件

關於第二點,您不應該通過訪問DOM元素來禁用字段(例如, $("#btsave")),但不清楚你試圖禁用什麼,因爲沒有任何具有該ID的CRM元素。

支持的禁用CRM表單字段的方法是使用XRM JavaScript名稱空間。例如:Xrm.Page.getControl(arg).setDisabled(bool)

相關問題