2017-05-10 2 views
0

Ich habe Probleme beim Übergeben von Eingabewerten in eine JavaScript-Funktion, die zwei Werte akzeptiert und multipliziert. Wenn ich meine Zahlen festcode, funktioniert es gut. Aber wenn ich versuche, die Eingabewerte zu verwenden, bekomme ich nichts - nicht einmal undefined. Hier ist mein Code:Wert der Eingabe in JavaScript-Funktion übergeben

function multiply (val1, val2) { 
 
    var n = val1; 
 
    for(var i = 1; i < val2; i++) { 
 
    n += val1; 
 
    } 
 
    return n; 
 
} 
 

 
var result = multiply(document.getElementById('first').value, document.getElementById('second').value); 
 

 
document.getElementById('result').innerHTML = result;
<h1>Mutiplication Algorithm</h1> 
 

 
<p>This algorithm attempts to multiply to given values without ever using the <span>*</span> operator</p> 
 

 
<input id="first" type="text" value=5 /> x 
 
<input type="text" value=4 /> = 
 
<span id="result"></span>

Dank!

+0

Eingabewerte sind immer Strings. –

+0

Aber selbst wenn ich sie als Ganzzahlen übergebe, funktioniert es nicht. –

+0

Zeigen Sie ein Beispiel, wie Sie sie als Ganzzahlen weitergeben und vielleicht würde ich Ihnen glauben. Fakt ist, ob Sie das Attribut 'value' mit der Eigenschaft 'value' eines HTMLInputElement angeben (https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement#Properties)) gibt eine Zeichenfolge zurück. –

Antwort

2

Bitte überprüfen Sie Ihren Code erneut. Sie hatten Ihren zweiten Eingabe-ID-Parameter nicht. Dann, wenn Sie Werte als ganze Zahlen behandeln wollen, analysieren sie einfach als int :) im Code Schauen unten

function multiply (val1, val2) { 
 
    val1 = parseInt(val1); 
 
    var n = val1; 
 
    for(var i = 1; i < val2; i++) { 
 
    n += val1; 
 
    } 
 
    return n; 
 
} 
 

 
var result = multiply(document.getElementById('first').value, document.getElementById('second').value); 
 

 
document.getElementById('result').innerHTML = result;
<h1>Mutiplication Algorithm</h1> 
 

 
<p>This algorithm attempts to multiply to given values without ever using the <span>*</span> operator</p> 
 

 
<input id="first" type="text" value=5 /> x 
 
<input type="text" id="second" value="4" /> = 
 
<span id="result"></span>

Verwandte Themen