【发布时间】:2014-02-10 02:23:11
【问题描述】:
我有这个应用程序,我想在其中使用 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(...)' 为空或不是对象
谁能帮我解决这个问题?
我想检查一下用户是否在浏览器上激活了 JavaScript。如果 JavaScript 未启用,按钮将保持禁用状态。
【问题讨论】:
-
如果您尝试使用
RegisterStartupScript而不是RegisterClientScriptBlock会怎样? -
你能在 rendered ASPX 页面中看到按钮的 HTML 标记是什么样的吗?另外,你的 JavaScript 函数是嵌入到 ASPX 文件中还是在单独的 JS 文件中?
-
您的 JavaScript 代码是否在单独的
.js文件中? -
@ Yuriy Galanter 你的意思是:
<input type="submit" name="Submit" id="Begin" />? -
@Darin Dimitrov 感谢我将 js 代码放在标头中并且可以正常工作
标签: c# javascript jquery asp.net