Javascript 输入文本框获取NaN值

Javascript 输入文本框获取NaN值,javascript,html,openlayers,nan,typeof,Javascript,Html,Openlayers,Nan,Typeof,我想在文本框中写一个值的总和。为此,我有两部分代码: HTML: 价值(欧元) 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;

我想在文本框中写一个值的总和。为此,我有两部分代码:

HTML:

价值(欧元)

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;
    }

}
功能选择\u功能(事件){
//设置为0
document.getElementById('test1')。值=0;
//环路

对于(var i=0;i基于调试,我认为问题在于值字段的输入文本框声明没有使用整数值声明。我在这个JSFIDLE中发现了这一点。也许可以尝试在代码中的两个输入文本框的值字段中将值设置为0或空白。而不是文本框。单击“添加两个值”它将显示NaN..但是当运行时输入文本字段具有整数值..您将看到它将加起来..我仍然没有想出如何解决此问题-无论如何,只是共享

试试这个

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

对这个

试试这个

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

在下面


注销-Nouvre Technologies的Lakhi Calantoc

这取决于“selectedFeatures”包含的内容。乍一看,至少有一个功能不包含数字(因此“parseFloat”返回NaN)。如果不是一个数字,为什么我在type off的结果中得到一个数字?我使用typeof查看变量类型,并且总是得到“number”:因为“elements”是一个数字(NaN是一个数字!),但“elements.selectedFeatures[i].attributes.value_elements”不是一个数字(然后“parseFloat”返回NaN,“elements”将永远是NaN)。我认为在访问childnodes时存在问题,因此您得到的是NaN(不是一个数字)。您可以检查…parseFloat(elements.selectedFeatures[I].attributes.value_elements)是否返回了一个数字…。但是除此之外,您的赋值(document.getElementById('test1')。value=elements;)应该在for循环之后。。