2009-11-27 55 views
2

我有一個帶有面板的aspx頁面。我正在使用面板顯示一個消息框。面板ID是「panMessage」。該面板包含一個按鈕標籤「隱藏」。我使用後面的代碼顯示面板,但當用戶單擊隱藏按鈕時,需要用JS關閉面板。我重視與按鈕的onclick事件下面的代碼 -style.visibility無法在FireFox中工作

onclick="javascript:(<%=panMessage.ClientID%>).style.visibility='hidden';" 

click事件完全在IE瀏覽器,但不能在Firefox。我用Google搜索,並改變了代碼 -

onclick="javascript:(<%=panMessage.ClientID%>).style.display='none';" 

但仍代碼不工作,即面板是不會在Firefox中隱藏儘管它使用這個新的代碼也在IE工程。

有人可以指導我最近做錯了什麼嗎?

感謝您的配合。

+0

顯示我們所提供的HTML - >運行頁面,查看源代碼,拷貝/粘貼相關的HTML。 – roosteronacid 2009-11-27 13:34:13

回答

4

在我看來,問題在於(<%=panMessage.ClientID%>)

onclick="(<%=panMessage.ClientID%>).style.display='none';" 

呈現時會看到這樣的:

onclick="(panMessage_1).style.display='none';" 

你應該把類似:

onclick="document.getElementById('<%=panMessage.ClientID%>').style.display='none';" 
+0

感謝你們所有的朋友!你們是天才。代碼工作正常。 – IrfanRaza 2009-11-27 13:42:39

2

使用

document.getELementById ("<%=panMessage.ClientID%>")檢索元素,然後嘗試設置顯示或可見性屬性。

將display屬性設置爲none,以便控件不佔用空間。

+0

,加上報價 – 2009-11-27 13:38:47

1

我們真的需要看到實際的HTML輸出能夠爲您進行調試。

正確的輸出應該是這個樣子:

onclick="document.getElementById('panMessage').style.display='none';" 

請注意,您不需要在事件處理程序javascript:

4

首先,visibility hiddendisplay none是不一樣的。前者將使該元素消耗與原來相同的空間,如果它可見的話,而後者則不會。 display: nonevisibility: hidden; position: absolute;的同義詞

除此之外,您的問題可能是由於您訪問元素的方式。嘗試改爲:

onclick="document.getElementById('<%=panMessage.ClientID%>').style.display='none';" 
相關問題