2017-02-25 50 views
-1

我有一个提交按钮,并希望它最初开始禁用,所以我做了以下的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中,按钮工作正常,虽然启用]。

+1

你必须确保这个JavaScript代码无论是对整个文档加载或将其放置在HTML的底部等待,让按钮被执行脚本的时间已经加载。 –

+0

您使用的是DOMContentLoaded事件吗?当使用'button.disabled = true;' – Satpal

+0

禁用功能工作正常,如果您正确地放置它。为了更好的理解,请使用页眉和页脚编辑代码。 –

回答

0

您必须调用该函数才能将其禁用。

function myFunction() { 
 
    document.getElementById("myBtn").disabled = true; 
 
} 
 
myFunction();
<button id="myBtn">Submit</button>

或者使用自调用匿名函数:

(function() { 
 
    document.getElementById("myBtn").disabled = true; 
 
})();
<button id="myBtn">Submit</button>

或者等到浏览器完成加载页面组件:

window.onload = function(){ 
 
    document.getElementById("myBtn").disabled = true; 
 
}
<button id="myBtn">Submit</button>