2012-12-18 55 views
0

這是殺了我必須是簡單的東西我忽略。我試圖通過點擊一個ASP按鈕來觸發一個簡單的JavaScript函數。我的按鈕看起來是這樣的:asp button not firing javascript客戶端

<asp:Button ID="btnFinalize" runat="server" Enabled="False" OnClientClick="finalizeClick(); return false;" Text="Finalize Selection" /> 

我確實啓用它基於一些其他客戶端邏輯,一旦啓用我點擊它,但沒有任何反應。

我在JS函數finalizeClick()中有一個斷點,它永遠不會到達那裏。

所以我嘗試了一個普通的HTML按鈕,它調用該函數就好,並按預期執行。它看起來像:

<input type="button" id="btnFinalizeNotASP" value="button" onclick="finalizeClick();"/> 

瘋了,請幫助。

編輯更多信息。必須是Enabled =「False」。如果我將它從ASP標籤中取出,它就可以工作。我想開始禁用按鈕,使它在其他事件客戶端我做,在另一個JavaScript事件,我設置:

finalizeButton.disabled = false; 

不知道爲什麼,但finalizeButton.enabled = TURE;從未打開按鈕。

仍然不解

+0

? – Gabbar

+0

@Gabbar謝謝,但仍然沒有愛 – RichP

回答

1

我想通了一些作品,但我真的不喜歡它。想從別人那裏知道爲什麼以及是否有更好的解決方案。

如果我離開了:

Enabled="False" 

我的ASP代碼,並把

var btnfinalize = document.getElementById("<%=btnFinalize.ClientID %>"); 
btnfinalize.disabled = true; 

在我的頁面的JavaScript中的ASP按鈕的設計過程中啓用,禁用頁面加載時和如果你以後嘗試類似OnClientClick =「javascript:finalizeClick();」,那麼會怎樣才能啓動我想要的javascrip功能(真的禁用了= false)並點擊了

0

不,您可以使用HTML控件,當你不需要控制在服務器端,而不是ASP.NET服務器控件運行。

< input type="button"/> 

代替

< asp:Button ID="btn" runat="server"/> 
+0

但我想有一些服務器端「東西」發生後,我有用戶在我的JavaScript函數調用中回答繼續/取消問題 – RichP