2012-03-22 27 views
0

我有一個包含表格的框架。在該表中,我有一些字段,其中一個帶有一個按鈕,用於打開LOV表單(Oracle值列表;一種允許選擇填充關聯文本框的表單)在Web PL * SQL中禁用LOV按鈕(javascript,Oracle,HTML)

我必須禁用/啓用文本框和LOV按鈕按其他字段。但是我只能成功禁用文本框,LOV按鈕保持啓用狀態。我無法解決如何禁用LOV按鈕。我相信這是因爲它沒有自己的ID。

要禁止我這樣做

document.forms[0].P_ACT_ID_ARRAY[rowNumber].disabled = true; 

表單元格內容(文本框和按鈕LOV)與被定義;

<TD NOWRAP id="P_ACT_ID_ARRAY" > <INPUT TYPE="text" ID="P_ACT_ID_ARRAY" name="P_ACT_ID_ARRAY" SIZE="15" MAXLENGTH="200" value="BOARD_TRAVEL" ; " > <a name="P_ACT_ID_LOV" onClick="ACT_LOV('P_ACT_ID_ARRAY',this,'BP_GEN_MGT_ADMN','0000676');" href="javascript:void(0)" > <IMG SRC="/v12conf_images/lov.jpg" border=0></a></TD> 

任何幫助禁用LOV按鈕讚賞。從gdoron

響應之後

===我修改HTML是follwoing

<TD NOWRAP id="P_ACT_ID_ARRAY" > <INPUT TYPE="text" ID="P_ACT_ID_ARRAY" name="P_ACT_ID_ARRAY" SIZE="15" MAXLENGTH="200" value="ADMIN" ; " > <a ID="Karl" name="P_ACT_ID_LOV" onClick="ACT_LOV('P_ACT_ID_ARRAY',this,'BP_GEN_MGT_ADMN','0000676');" href="javascript:void(0)" > <IMG SRC="/v12conf_images/lov.jpg" border=0></a></TD> 

並加入

document.getElementById('KARL').getElementsByTagName('a')[0].disabled = "disabled" 

但得到了同樣的結果;文本框禁用,LOV按鈕仍然啓用。

===更多信息===

我可以讓它在桌子上線工作,上述但不是我的工作就行了。我添加一行並嘗試在添加它時禁用LOV按鈕(以便稍後在其他值存在時啓用)。有沒有人有任何想法,爲什麼新創建的行不起作用,但預先存在的行呢?我認爲這可能是我的問題的癥結所在。

document.getElementById('P_ACT_ID_ARRAY').getElementsByTagName('a')[rowNumber -1 ].disabled = true; 
document.getElementById('P_ACT_ID_ARRAY').getElementsByTagName('img')[rowNUmber -1].style.visibility = "hidden"; 

問候 卡爾

+0

請出示呈現的HTML。 – gdoron 2012-03-23 05:56:23

回答

0

你的HTML是無效的,你有同樣的P_ACT_ID_ARRAY ID的多個元素。

後你解決它,試試這個:

document.getElementById('P_ACT_ID_ARRAY') 
     .getElementsByTagName('img')[0].disabled = "disabled" 

但它看起來像你需要禁用圖像周圍的錨:

document.getElementById('P_ACT_ID_ARRAY') 
     .getElementsByTagName('a')[0].disabled = "disabled" 
+0

這就是我現在正在做的事。它禁用了文本框而不是LOV按鈕。我需要禁用LOV按鈕。 **其實剛剛寫下這些,我看到了不同 - 讓我去嘗試一下。 ** – Karl 2012-03-22 22:50:15

+0

不,結果相同。文本框已禁用,LOV按鈕仍處於啓用狀態。 – Karl 2012-03-22 22:52:49

+0

@Karl。查看我的更新。 – gdoron 2012-03-22 22:57:25