我已经搜索了两天来找到这个问题的解决方案,我似乎找不到任何适合我的方法。我有一个LinkButton
在页面加载时被禁用。我正在禁用这样的按钮:
$("#BtnSubmit").prop("disabled", true);
$("#BtnSubmit").removeAttr("enabled");
当用户填写所有必填字段时,我尝试重新启用LinkButton
,如下所示:
$("#BtnSubmit").removeAttr("disabled");
然而,这不起作用。我查看了生成的标记,似乎LinkButton
在设置为href
时删除了disabled
属性。简单地删除disabled
属性不起作用。我还尝试添加enabled
这样的属性:
$("#BtnSubmit").attr("enabled", "true");
然而,这也不起作用。
我错过了什么?从设计角度来看,该按钮显然是重新启用的。它从disabled
外观到它的enabled
外观很好,但它没有得到它的href
属性。我尝试过手动添加href
,但这也行不通。我发现的大多数解决方案都涵盖了如何禁用按钮;他们似乎都没有提到重新启用它的任何事情。有什么建议吗?
答案 0 :(得分:2)
如果您能在我的帖子中向我们提供您的ASPX标记及其代码,那将是件好事。有许多方法可以禁用/启用按钮。你是通过服务器端还是客户端来做的?我的预感是,您可能会将LinkButton上的Enabled
属性设置为False
,这解释了为什么href
属性也已消失。
您可以考虑的一种方法是,您可以在Page_Load
事件中注册客户端javascript代码,当页面重新加载时,代码将被执行。
像这样的东西
var script = "$('#BtnSubmit').prop('disabled', true);";
ScriptManager.RegisterStartupScript(Page, GetType(), "mykey", "script", true);
希望它有所帮助。
答案 1 :(得分:1)
不久前,我遇到了类似的问题。这对我有用:
$("#BtnSubmit").prop("disabled", true);
$("#BtnSubmit").prop("disabled", false);
请注意,HTML属性在页面加载时设置如下:
<input type="submit" id="BtnSubmit" disabled="disabled"/>