2013-06-11 85 views
0

我想在文本框中寫入一個值的總和。對於我的這個代碼兩個部分組成:輸入文本框得到NaN值

HTML:

<label for="test1">Value(€)</label> 
<input type="text" name="test1" id="test1" value="0"><br> 

的Javascript:

function selected_feature(event){ 
    //set to 0 
    document.getElementById('test1').value = 0; 

    //Loop 
    for(var i=0; i<elements.selectedFeatures.length; i++) { 
     var elements; 
     elements += parseFloat(elements.selectedFeatures[i].attributes.value_elements); 
     document.getElementById('test1').value = elements; 
    } 

} 

http://pastebin.com/N2jnaQ4x

結論:我得到的文本框中的值 '男'。我用'parsefloat'嘗試了很多東西,但沒有任何效果。如果我在函數的結尾做'alert(typeof elements')',我會得到'number'。 爲什麼textbox收到'NaN'?任何人都可以幫我嗎?

感謝

+0

這取決於什麼 'selectedFeatures' 包含。乍一看,我會說至少有一個不包含數字(所以'parseFloat'返回NaN)。 –

+0

如果不是一個數字,爲​​什麼我得到一個鍵入結果的數字? – pdcc

+0

我使用typeof來查看變量類型,並且總是得到'number':http://pastebin.com/7EUWA4Kv – pdcc

回答

1

基礎上調試,我覺得問題是,值字段輸入文本框聲明不與整數值聲明。我在這個jsFiddle中發現了這個問題,可能試着將代碼中兩個輸入文本框的值字段中的值設置爲0或空白。而不是文本框。你會看到,當你點擊「添加兩個值」時,它會向我們顯示NaN ..但是當輸入文本字段有運行時的整數值..你會看到它會加起來..我還沒有想通如何解決這個問題 - 反正,只是分享..

試試這個

<input type="text" id="one" value="" /> 
<input type="text" id="two" value="" /> 

VS這種

試試這個

<input type="text" id="one" value="20" /> 
<input type="text" id="two" value="30" /> 

在下面

JSFiddle Code Here

簽約手續 - Nouvre技術的Lakhi Calantoc