2017-04-09 3 views
1

Ich weise document.getElementById("outcome").value der Variablen outcome zu. Wenn ich auf die Schaltfläche klicke, möchte ich den Wert der Eingabe mit der ID "outcome" auf "Something" setzen.kann den Wert der Formulareingabe nicht einstellen. Javascript

Aber wenn ich meinen Code unten ausführen, wurde Eingabeformular Ergebnis nicht festgelegt. Immer noch, Formular Ergebnis ist nichts passiert.

function throwDice() { 

    var point=document.getElementById("point").value; 
    var outcome=document.getElementById("outcome").value; 
    outcome=Somthing; 
} 

Danach ändere ich meinen Code richtig dies.

function throwDice() { 

    var point=document.getElementById("point").value; 

    document.getElementById("outcome").value="Something"; 
} 

Alles, was ich tun, ist, dass entfernen Zuweisung Variable Ergebnis und assign "Something" zu document.getElementById("outcome").value direkt. In diesem Fall ist der Wert des Formularergebnisses "Something".

Meine Frage ist, warum outcome="Something" nicht funktioniert.

+0

Variablen sind keine Verweise auf Eigenschaften. – Bergi

Antwort

2

Situation:

In Ihrem ersten Code, Sie überschreiben nur outcome Variablenwert mit "Something" statt es in dem Element des Schreibens mit idoutcome, wenn Sie also schreiben:

Erläuterung:

Hier deklarieren Sie outcome Variable und setzen Sie ihren Wert auf den Wert Ihrer Eingabe:

var outcome=document.getElementById("outcome").value; 

Und hier in dieser Zeile Sie outcome Variable "Something"

outcome=Somthing; 

Also in diesem Fall outcome Variable Zurücksetzen nur wurde den Eingangswert zu halten, dann verändert man es zu "Something".

So, um Ihre Frage zu beantworten: Warum Ergebnis = "Etwas" nicht funktioniert?, weil outcome das input Element value nicht verweist, aber nur seine value hält.

Mit anderen Worten:

Also in Ihrem ersten Code waren Sie gerade so etwas wie dies zu tun:

var outcome = 5;  //outcome here is 5 
outcome = "Something"; //outcome is changed to "Something" 

In JavaScript-Variablen werden loosly getippt, warum Sie dieses Verhalten sehen, können Sie nehmen ein Blick auf Understanding Loose Typing in JavaScript für weitere Lektüre.

+1

obwohl mein schreckliches Englisch, antworten Sie auf meine Frage. Danke für deine schnelle Antwort. Ich verstehe meinen Fehler. –

+0

Sie sind willkommen, froh, dass es hilft. –

+0

@nurooccoa wenn es dir hilft kannst du bitte meine antwort annehmen. Vielen Dank –

Verwandte Themen