2013-06-11 3 views
0

텍스트 상자에 값의 합계를 입력하고 싶습니다.입력란 텍스트 상자에 NaN 값이 표시됩니다.

HTML :

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

자바 스크립트 :

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

결론 : 그 동안 나는 코드의 두 부분으로 나는 텍스트 상자의 값 'NaN이'를 얻을. 나는 'parsefloat'로 많은 것을 시도했지만 아무것도 작동하지 않습니다. 함수의 끝에서 'alert (typeof elements') '를하면'number '가됩니다. 텍스트 상자에 'NaN'이 수신 된 이유는 무엇입니까? 아무도 도와 줄 수 있습니까? 디버깅에 기초

감사

+0

. 언뜻 나는 그들 중 적어도 하나에 숫자가 들어 있지 않다고 말할 것입니다 (그래서 'parseFloat'는 NaN을 반환합니다). –

+0

숫자가 아닐 경우 입력이 꺼진 결과 숫자가 표시되는 이유는 무엇입니까? – pdcc

+0

변수 유형을 보려면 typeof를 사용하고 '요소'는 숫자 (NaN은 숫자 임)가 아니기 때문에 항상 '숫자'를 얻습니다 : 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 그것은 'selectedFeatures이'에 포함 된 내용에 따라 달라집니다

관련 문제