2017-02-25 66 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>