2017-04-16 9 views
0

Ich möchte den Eingabewert eines Formularelements in einer JavaScript-Funktion verwenden. Wenn ich jedoch die Variable deklariere, zieht sie den Eingabewert nicht aus dem Formular. Stattdessen sagt der Debugger nur; ""Eingabe der Formnummer wird nicht als Variable an Javascript übergeben

Mein Code ist wie folgt.

HTML:

<input type="number" name="stack" id="stack" min="1" max="600" placeholder="Big Blinds" required> 

Javascript:

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

Jede Beratung wäre toll. Vielen Dank.

Antwort

0

Es scheint, als ob Sie den Wert erhalten, während das Eingabeelement noch leer ist. Ihr Code, der die Variable festlegt, scheint nicht in einer Funktion eingekapselt zu sein, die zu einem Zeitpunkt ausgeführt wird, nachdem dem Eingabeelement Daten eingegeben wurden, sodass der Code sofort ausgeführt wird.

Sie müssen sicherstellen, dass Sie den Wert erhalten, nachdem ein Wert eingegeben wurde.

Dies wird durch Hinzufügen einer Ereignisbehandlungsfunktion erreicht, die zu einem bestimmten Zeitpunkt ausgelöst wird. Es gibt verschiedene Ereignisse, mit denen Sie arbeiten können (keyup, keydown, input, die submit des Formulars, eine Schaltfläche click usw.). Hier sehen Sie ein Beispiel für den Wert, wenn eine Schaltfläche angeklickt wird.

// Get a reference to the button that will trigger the event function 
 
var btn = document.getElementById("btn"); 
 

 
// Get a reference to the input element (do this outside of the function that 
 
// will need it so you don't wind up scanning the document for it over and over). 
 
// Also, set the variable to the element itself, not a property of the element so 
 
// that if you ever need a different property, you don't have to scan the document 
 
// for the element again: 
 
var input = document.getElementById("stack"); 
 

 
// If you intend to use the value of the element across several functions, declare a 
 
// variable that will hold the value outside of all of them. 
 
var stack = null; 
 

 
// Set the button up to call a function when it gets clicked. 
 
btn.addEventListener("click", function(){ 
 
    // When clicked, get the value 
 
    stack = input.value; 
 

 
    // Do whatever you want with the stored value. 
 
    console.log(stack); 
 
});
<input type="number" name="stack" id="stack" min="1" max="600" placeholder="Big Blinds" required> 
 
<button id="btn">Get Value</button>

+0

Dank paaren - sehr geholfen. –

Verwandte Themen