大家好,我有这个代码
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
发布于 2012-12-03 10:35:42
parseFloat( document.getElementById("amountDue").value );在技术上相当于
parseFloat( undefined );这会产生值NaN,因为span元素没有名为.value的属性。也许你想要.innerHTML
parseFloat( document.getElementById("amountDue").innerHTML );发布于 2012-12-03 10:34:52
#amountDue是一个<span>元素,所以它没有value属性。
使用.innerHTML获取其内容。
var amountDue = parseFloat(document.getElementById("amountDue").innerHTML);发布于 2012-12-03 10:36:35
这不会返回值:
document.getElementById("amountDue").value因为amountDue不是HTML input元素。
请在下面进行尝试:
document.getElementById("amountDue").innerHTML;即
var amountDue = parseFloat(document.getElementById("amountDue").innerHTML);https://stackoverflow.com/questions/13676391
复制相似问题