2011-10-26 23 views
0

這可能是我的一個明顯錯誤。我有一個C#頁面,該頁面有一個按鈕,當點擊時在iFrame中打開日曆(ASP經典)。該日曆傳遞按鈕的客戶端ID爲AddToCartButton,並使用該線:(LO回覆於型功能和簡單地輸出該文本於頁面)如何在JavaScript隱藏後顯示父按鈕

lo("parent.document.getElementById('" & AddToCartButton & "').style.display = 'none';") 

在日曆顯示時隱藏按鈕。用戶選擇一個日期之後,日曆採用了類似的線把日期到我的C#文本框:

lo("parent.document.getElementById('" & PostBackField & "').value = '" & Replace(CurrentDate,":00 "," ") & "';") 

這一切的偉大工程,但是當我嘗試使用打開按鈕回:

lo("parent.document.getElementById('" & AddToCartButton & "').style.display = '';") 

沒有任何反應。我也嘗試過使用類似的非結果的「內聯」。有沒有人有從我在這裏寫什麼我做錯了什麼想法?

+0

如果這不是一個編程錯誤,那麼我想這可能是按鈕被設置爲顯示,但沒有屏幕刷新,所以它不會出現......但我抓住了吸管。儘管我已經進行了三十年的編程,但我對網絡編程還很陌生。 – Deverill

+0

我不確定我是否理解爲什麼您將代碼傳遞給lo()作爲最後一行的字符串。你不能直接在用戶選擇日期的日曆頁面上執行它嗎? –

+0

我不能因爲該字段被我們使用的店面包中的父頁面(c#)使用。日曆是我們寫信給另一個預訂系統的日曆。日期必須可以由父母作爲文本框讀取,而不僅僅用於顯示。 – Deverill

回答

0

你應該使用可見性而不是顯示,但我看不到爲什麼你的代碼不能與顯示器一起工作。

lo("parent.document.getElementById('" & AddToCartButton & "').style.visibility = 'hidden';") 

然後

lo("parent.document.getElementById('" & AddToCartButton & "').style.visibility ='visible' 

設置顯示隱藏去除流,其中知名度不斷替代項目的項目,只是隱藏它,我認爲這是你想要的。

這是一個很好的article解釋的差異。

這是我扔在一起的快速樣本。

<html> 
    <head> 
    <script type="text/javascript"> 
    function show_button() 
    { 
     document.getElementById("targetBtn").style.visibility = 'visible'; 
    } 
    function hide_button() 
    { 
     document.getElementById("targetBtn").style.visibility = 'hidden'; 
    } 
    function remove_button() 
    { 
     document.getElementById("targetBtn").style.display = 'none'; 
    } 
    </script> 
    </head> 
    <body> 
    <input id="targetBtn" type="button" value="Button to Hide/Show" /> 
    <input type="button" onclick="show_button()" value="Show Button" /> 
    <input type="button" onclick="hide_button()" value="Hide Button" /> 
    <input type="button" onclick="remove_button()" value="Remove Button" /> 

    </body> 
    </html> 

如果您運行此示例,請單擊顯示和隱藏按鈕。你會注意到他們在頁面上的位置。點擊刪除按鈕,它們將全部移到左側。

+0

謝謝,你說得對,那就是我想要做的。我今天會檢查一下。我使用顯示,因爲這是我發現在Google搜索我的任務......但他們大多是JavaScript解決方案網站,並沒有考慮.NET。我還是新來的,所以我跑它:) – Deverill

+0

這是一個更好的方式來做我想要的。感謝您抽出寶貴時間詳細介紹並教會我一些新的東西! – Deverill

+0

很高興我能幫到你。 –

1

您是否熟悉firebug?嘗試使用它,看看它是否有助於您調試問題。您可以在執行相關行的iframe窗口代碼中設置斷點並查看發生了什麼。在那裏,我會嘗試將parent.document.getElementById('" & AddToCartButton & "')設置爲一個變量,並看看你得到了什麼。

+1

除了您向我們展示的內容外,還有其他事情正在發生。我剛剛運行了這段代碼,能夠隱藏並顯示來自iFrame窗口的控件沒有問題。希望螢火蟲可以幫助你。 –

+0

我認爲你是對的。 – Deverill

+0

+1讓我看看其他代碼的問題。謝謝! – Deverill