2015-11-11 5 views
5

私のコードは、どのラジオボタンが押されたかをチェックし、そのラジオボタンの値をvar input = 0;に追加する単純な関数です。しかし、私はそれが動作するように何か間違っていることを知っているが、出力が間違っています。 ifステートメントのいずれかが真である場合、入力(0)が今度はgetElementById("small").valueの新しい値に加えてそれに等しいのではなく、今度は10ではなく010を出力します。Javascript + =同等ですか?

私はJavaで、input += getElementById("small").value;と同様の規約がありましたが、これはうまくいかないようです。下の例でわかるように、私はinput = input + /*code*/;の代替を試みましたが、まだ運がありません。

私はJavaScriptが初めてですが、Javaに精通しています。私はちょうどここで間違った構文を使用しているが、私のすべてのGoogleの検索はバストだと思う。

function calculate() 
{ 
    var input = 0; 
    if (document.getElementById("small").checked) 
    { 
     input = input + document.getElementById("small").value; 
    } 
    else if (document.getElementById("medium").checked) 
    { 
     input = input + document.getElementById("medium").value; 
    } 
    else if (document.getElementById("large").checked) 
    { 
     input = input + document.getElementById("large").value; 
    } 
    else 
    { 
     alert("failed"); 
    } 

    document.getElementById("outar").innerHTML = input; 
} 
+0

テキストフィールドの値を表します。 – David

+0

大変ありがとうございます! – SenjuXo

答えて

5

文字列を使用して算術演算を実行しようとしています。 .valueプロパティは文字列であるため、それぞれのdocument.getElementById("....").value式の周りにparseInt()を使用する必要があります。

例:

input += parseInt(document.getElementById("small").value); 
+0

ahhhh!これははるかに理にかなっています。戻り値の型.valueを調べて、それを解析する方法を理解しようとしていました。 Parseのすべてのタイプはありますか? parseDouble/Int/Floatなど? – SenjuXo

+0

@SenjuXoだけ 'parseInt'と' parseFloat'; JavaScriptに(ネイティブな) 'parseDouble'はありません。この回答を参照してください:http://stackoverflow.com/a/21278297/2057919 –

+0

Alrighty!ありがとうございました! – SenjuXo

1

あなたはparseIntまたはparseFloatと整数またはfloatとして数に.valueを変換する必要があります。 .valueは文字列です。

2

あなたの値は、デフォルトでは番号ではありませんが、それは文字列です。あなたは、まずそれを解析するようになった:

input += parseInt(document.getElementById("large").value); 
2

あなたは数に変換するために、文字列値の前に追加の+記号を追加することができます。

input += +document.getElementById("large").value; 
1

Javascriptが動的型付けされた言語で、静的ではないが、Javaのような型指定されました。 document.getElementById( "small")。valueは、parseInt()でintに変換する必要がある文字列を返します。助け

ホー[E :)

1

ます。また値からこのlink-

返された値を参照することができますが、文字列です。算術演算を行う前にintに変換する必要があります。

JavaScriptは静的型付けされた言語であり、javaのような静的型ではありません。

戻り値:文字列、あなたはDOMから数値をつかむとき `のparseInt(値)`テキスト値ではなく整数に変換するためにする必要が

関連する問題