【发布时间】:2017-07-16 14:37:30
【问题描述】:
我有一个提交按钮,并希望它启动时最初是禁用的,所以我做了以下 JavaScript;
var button = document.getElementById("myBtn");
button.disabled = true;
当我运行它时,由于某种原因它仍然被设置为启用。但是,当我有一个功能时,当单击另一个按钮会禁用第一个按钮时,它会被禁用;
function myFunction() {
document.getElementById("myBtn").disabled = true;
}
这是两个按钮的正常声明;
<button id="myBtn">Submit</button>
<button onClick = "myFunction()">Disable Submit Button</button>
我也尝试过使用 setAttribute 和 removeAttribute
PS:我正在使用 Visual Studio 2015,并使用 Chrome 运行。当我使用 Internet Explorer 运行时,它给了我一个奇怪的错误,提示“JavaScript 运行时错误:无法设置未定义或空引用的属性‘禁用’”[仅在 Internet Explorer 上,在 Chrome 中该按钮虽然已启用,但仍能正常工作]。
【问题讨论】:
-
您必须确保此 JavaScript 代码等待整个文档加载或将其放置在 HTML 的底部,以便在脚本执行时按钮已经加载。跨度>
-
你在使用
DOMContentLoaded事件吗?当使用button.disabled = true; -
如果放置得当,禁用功能可以正常工作。为了更好地理解,请使用页眉和页脚编辑您的代码。
-
@ScottMarcus 谢谢你,它成功了!从来不知道实际上受到了影响。我曾经把它放在 HTML 的最右上方。
-
如果您使用我回答中的第三种方法,则不必将脚本向下移动。
标签: javascript html asp.net visual-studio google-chrome