0

Javascriptで複数の変数の合計を追加する適切な方法は何ですか?

これが私がやろうとしていることです。変数を引用符で囲んだり付けたりせずに試してみました。NaN や Undefined などを取得していません。何の出力もありません。

function setstat(){
document.getElementById('date').value = window.opener.document.getElementById('thisday').value;
document.getElementById('name').value = window.opener.document.getElementById('element_7').value;
document.getElementById('time').value = window.opener.document.getElementById('stwa').value;

inbcalls = window.opener.document.getElementById('element_6').value;
document.getElementById('totinb').value = inbcalls;
inbcallsp = parseInt("inbcalls",10);
asaptotal = window.opener.document.getElementById('asapcalls').value;
document.getElementById('asaptot').value = asaptotal;
asaptotalp = parseInt("asaptotal",10);
faxtotal = window.opener.document.getElementById('faxcalls').value;
document.getElementById('faxtot').value = faxtotal;
faxtotalp = parseInt("faxtotal",10);
obtotal = window.opener.document.getElementById('obcalls').value;
document.getElementById('obtot').value = obtotal;
totalcalls = inboundcallsp + asaptotalp + faxtotalp + obtotalp;
document.getElementById('totsum').value = totalcalls;
}
4

4 に答える 4

2

なぜ変数名を引用しているのですか?

inbcallsp = parseInt("inbcalls",10);

次のようにする必要があります。

inbcallsp = parseInt(inbcalls, 10);

そして、それらの残りについても同じです。変数の名前ではなく、変数の値を解析したい。それらは常に になりNaNます。

于 2012-07-05T02:26:51.357 に答える
1

asaptotalp = parseInt("asaptotal",10); 「asaptotal」は変数ではなく文字列として認識され、引用符で囲む必要はありません

于 2012-07-05T02:29:23.430 に答える
0

parseInt を使用する場合は、基数を常に 10 に指定します。

関数 singnature: parseInt(string, radix)

基数はオプションですが、省略した場合、JavaScript は次のように想定します。

文字列が「0x」で始まる場合、基数は 16 (16 進数) です。文字列が「0」で始まる場合、基数は 8 (8 進数) です。この機能は非推奨です 文字列が他の値で始まる場合、基数は 10 (10 進数) です

例: parseIn("05") ==== 0 -> true

parseIn("05", 10) ==== 5 -> 真

于 2014-02-15T18:43:24.717 に答える
-1

を使用しないでくださいParseInt。適切な値が返されない場合があります。

Numberたとえば、次のように使用することをお勧めします。

var i=Number(your value)
于 2012-09-20T12:03:29.883 に答える