首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ParseFloat goes

ParseFloat goes
EN

Stack Overflow用户
提问于 2012-12-03 10:30:42
回答 4查看 4.4K关注 0票数 3

大家好,我有这个代码

代码语言:javascript
复制
function computeChange(){
var change;
var amountDue = parseFloat(document.getElementById("amountDue").value);
var amountReceive = parseFloat(document.getElementById("amountReceive").value);
change = amountReceive - amountDue;
document.getElementById('amountChange').innerHTML = change;
}



<td>Total Amount</td>
<td>Php:<span id="amountDue"><?php echo $sum; ?></span></td>
</tr>
<tr>
<td>Amount Paid</td>
<td><input type="number" id="amountReceive" required="required" maxlength="4" size="4" onKeyUp="computeChange()"></td>
</tr>
<tr>
<td>Change</td>
<td>Php:<span id="amountChange"></span></td>
</tr>

总金额是一个小数点

关于投入type=text的支付金额

所以问题是,如果我在文本框中输入一些东西,那么更改的跨度就变成了NaN

EN

回答 4

Stack Overflow用户

发布于 2012-12-03 10:35:42

代码语言:javascript
复制
parseFloat( document.getElementById("amountDue").value );

在技术上相当于

代码语言:javascript
复制
parseFloat( undefined );

这会产生值NaN,因为span元素没有名为.value的属性。也许你想要.innerHTML

代码语言:javascript
复制
parseFloat( document.getElementById("amountDue").innerHTML );
票数 9
EN

Stack Overflow用户

发布于 2012-12-03 10:34:52

#amountDue是一个<span>元素,所以它没有value属性。

使用.innerHTML获取其内容。

代码语言:javascript
复制
var amountDue = parseFloat(document.getElementById("amountDue").innerHTML);
票数 5
EN

Stack Overflow用户

发布于 2012-12-03 10:36:35

这不会返回值:

代码语言:javascript
复制
      document.getElementById("amountDue").value

因为amountDue不是HTML input元素。

请在下面进行尝试:

代码语言:javascript
复制
     document.getElementById("amountDue").innerHTML;

代码语言:javascript
复制
    var amountDue = parseFloat(document.getElementById("amountDue").innerHTML);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13676391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档