簡體   English   中英

使用javascript啟用asp.net按鈕

[英]enable asp.net button using javascript

我有這個應用程序,我想使用JavaScript啟用asp.net按鈕。 JavaScript代碼:

function Enable() {
  document.getElementById('<%= Begin.ClientID %>').disabled = false;
}

ASP按鈕:

<asp:Button ID="Begin" runat="server" Text="Submit" OnClick="Button1_Click"/>

我正在使用ClientScriptBlock調用Enable函數:

protected void Page_Load(object sender, EventArgs e)
{
  Begin.Enabled = false;
  ClientScript.RegisterClientScriptBlock(GetType(), "EnableButton", "Enable();", true);
}

但是,當我運行應用程序時,出現錯誤:

0x800a138f-Microsoft JScript運行時錯誤:'document.getElementById(...)'為null或不是對象

有人可以幫我嗎?

我希望用戶檢查瀏覽器是否已激活JavaScript。 如果未啟用JavaScript,則該按鈕保持禁用狀態。

看來javascript代碼位於單獨的javascript文件中。 但是您似乎在其中使用了一些<% %>服務器端標記,這些標記顯然不會被處理。 這些標記僅在您的ASPX頁面內起作用。 所以我想在您的ASPX頁面中,您需要聲明一個變量:

<script type="text/javascript">
    var beginClientId = '<%= Begin.ClientID %>';
</script>

然后在單獨的.js文件中可以使用它:

function Enable() {
  document.getElementById(beginClientId).disabled = false;
}

或者,如果您使用的是ASP.NET 4.0,則只需打開static or predicatble ids

<system.web>
    <pages clientIDMode="Static"></pages>
    <compilation debug="true" targetFramework="4.0" />
</system.web>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM