2017-10-17 8 views
0

私は2つの数値間の共通の要因を判断するための小さなプログラムを作成しようとしています。私は数字を得ることに問題があります。ここに私のHTMLコードは次のとおりです。オブジェクトではなく入力から数値値を取得する

<p>Please input two numbers to find the common factors between them.</p> 
First number:<input type="number" id="firstNumber"></br> 
Second number:<input type="number" id="secondNumber"></br> 
<button onclick="commonFactors(document.getElementById('firstNumber'), 
document.getElementById('secondNumber'))">Submit</button> 

しかし、代わりにバックナンバーを取得すると、コンソールには次の値を返します。

"<input type='number' id='firstNumber'>" "<input type='number' 
    id='secondNumber'>" 

引用符で。私が間違っていることを教えてくれますか?

ないことが重要確かが、ここでJSです:

function commonFactors(num1, num2) { 
    console.log(num1, num2); 
    var counter=Math.min(num1, num2); 
    var factors=[]; 
    var k=0; 
    for (i=1; i<counter; i++) { 
    if (num1%i==0) { 
     if (num2%i==0) { 
     factors[k]=i; 
     } 
    } 
    k+=1; 
    } 
}; 

答えて

1

あなたが入力し、入力しない自分自身の値を取得したい:

のdocument.getElementById( 'firstNumber')

+0

ありがとうございます!上記のコメントを参照してください。 –

2

.VALUE document.getElementById('firstNumber')は値ますので+document.getElementById('firstNumber').value予告+を使用し、入力に参照のうえされているため、入力から取得するので、我々は数にそれらを変換する+を使うタイプstringである

注:あなたは、それが浮動小数点数

結果を整数のparseInt()parseFloat()と呼ばれています代わりに+の機能を使用することができますis

<button onclick="commonFactors(parseInt(document.getElementById('firstNumber').value), 
parseInt(document.getElementById('secondNumbe').value)">Submit</button> 
+0

お二人のおかげで! parseIntと.valueの両方を組み合わせて動作させました。 –

+0

ええ、最初の段落で述べたように、両方が必要になります。この例では.valueを追加するのを忘れていました – Laassari

関連する問題