2014-02-26 13 views
0

即時通訊如此新,所以我想問你一個問題。 我有兩個字段在我的實體,這些都與JavaScript連接。不要讓保存在基於兩個javascript連接字段的表格

讓我解釋一下;

這兩個字段都有下拉列表,當用戶從字段A中選擇''X''時,字段B被解鎖,因此用戶可以從下拉列表中選擇值。用戶可以從字段B中選擇他/她想要的任何值。我只是不希望在字段A中選擇''X''時爲空字段B.所以我不想讓用戶在選擇某項內容之前保存實體字段B.

如果您給我正確的代碼,我將不勝感激。

謝謝!

我的一個朋友給我發了下面的代碼,但是我寫不出來。我怎麼寫它?

function ValidateData(ExecutionObj){ 
//Place all your data validation here 
//In case data is not valid call the below method 
// The getEventArgs() method returns an object with methods to manage the Save event. 
// The preventDefault() method cancels the save operation 
ExecutionObj.getEventArgs().preventDefault(); 
} 
+0

請包括您正在使用的代碼 –

+0

我認爲正確的樣本已添加。 – Eldanar

回答

0

在您的保存邏輯中的某個地方,只要確保您檢查字段B不是'X'。

if ($('#fieldB option:selected').val() != 'X'){ //etc... 

注:這需要jQuery,但你想使用它。相信我。

+0

實際上,用戶可以在字段B中保存沒有值的實體。當從字段B中選擇「X」時,我只是不想讓用戶保存。只有從字段A中選擇「X」時,用戶必須從字段B中選擇一個值。 – Eldanar

+0

我不完全確定我是否理解您的意思,但我已更新了答案。顯然,你會用你正在檢查的實際值替換'X'。 –

0

您將需要檢查選擇框是否包含值。您可以添加一個默認選擇選項,其值爲空白值value="",然後每個其他選項都會有一個值。然後,檢查所選選項是否具有有效值而不是空白。

var select = document.getElementsByTagName('select')[0]; select.options[select.selectedIndex].value

0

最後我寫的代碼:如果你喜歡

$('select[name="foo"] option:selected').val()

或者本地JavaScript您可以使用此jQuery選擇或本地JavaScript。我想和大家分享一下。

function checkfield(Execution){ 
    var field = Xrm.Page.data.entity.attributes.get("casetypecode"); 
    var field1 = Xrm.Page.data.entity.attributes.get("prioritycode"); 
    var value = field.getValue(); 
    var value1 = field1.getValue(); 
    if (value == "3" && value1 == null) { 
    Execution.getEventArgs().preventDefault(); 
} 

}

還是要謝謝你!