2017-02-25 4 views
-1

Ich habe eine Absenden-Schaltfläche, und möchte es zunächst deaktiviert, so habe ich das folgende JavaScript;Schaltfläche startet nicht anfänglich deaktiviert

var button = document.getElementById("myBtn"); 
button.disabled = true; 

Wenn ich es ausführe ist es immer noch als aktiviert aus irgendeinem Grund gesetzt. Wenn ich jedoch eine Funktion habe, die beim Klicken auf eine andere Schaltfläche die erste Schaltfläche deaktiviert, wird sie deaktiviert.

function myFunction() { 
document.getElementById("myBtn").disabled = true; 
} 

Dies ist die normale Deklaration beider Tasten;

<button id="myBtn">Submit</button> 
<button onClick = "myFunction()">Disable Submit Button</button> 

ich auch versucht, die Verwendung von setAttribute und removeAttribute

PS: ich Visual Studio 2015 bin mit und Chrome läuft. Wenn ich mit dem Internet Explorer arbeite, bekomme ich einen seltsamen Fehler, der besagt: "JavaScript-Laufzeitfehler: Eigenschaft kann nicht eingestellt werden" von undefinierter oder Null-Referenz "[Nur Internet Explorer, in Chrome funktioniert die Schaltfläche normal, obwohl sie aktiviert ist].

+1

Sie müssen sicherstellen, dass dieser Code JavaScript entweder für das gesamte Dokument wartet er auf den Boden des HTML zu laden oder zu platzieren, so dass die Taste bereits durch die Zeit das Skript ausgeführt geladen wird. –

+0

Verwenden Sie das Ereignis "DOMContentLoaded"? bei Verwendung von 'button.disabled = true;' – Satpal

+0

Die Deaktivierungsfunktion funktioniert einwandfrei, wenn Sie sie richtig platzieren. Zum besseren Verständnis bearbeiten Sie bitte Ihren Code mit Kopf- und Fußzeile. –

Antwort

0

Sie müssen die Funktion aufrufen, um sie zu deaktivieren.

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

Oder eine selbst Aufruf anonyme Funktion verwenden:

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

Oder warten, bis beendet Browser die Seite Komponenten geladen werden:

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

Verwandte Themen