te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - ParseFloat goes NaN - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - ParseFloat goes NaN - Stack Overflow

programmeradmin4浏览0评论

Hello everyone i have this code

function puteChange(){
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="puteChange()"></td>
</tr>
<tr>
<td>Change</td>
<td>Php:<span id="amountChange"></span></td>
</tr>

on the total amount is a decimal
on the amount paid input type=text

So the problem is if i enter something in the text box the span on change goes NaN

Hello everyone i have this code

function puteChange(){
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="puteChange()"></td>
</tr>
<tr>
<td>Change</td>
<td>Php:<span id="amountChange"></span></td>
</tr>

on the total amount is a decimal
on the amount paid input type=text

So the problem is if i enter something in the text box the span on change goes NaN

Share Improve this question edited Dec 3, 2012 at 2:32 Gabriele Petrioli 196k34 gold badges271 silver badges328 bronze badges asked Dec 3, 2012 at 2:30 Mowgli Mecha IVMowgli Mecha IV 411 silver badge5 bronze badges 5
  • 1 what is entered into the textbox? – Daniel A. White Commented Dec 3, 2012 at 2:32
  • 3 amountDue is a span, it doesn't have value. – zerkms Commented Dec 3, 2012 at 2:33
  • @DanielA.White THE AMOUNT RECEIVED is entered if you enter it it will trigger the span to diplay values – Mowgli Mecha IV Commented Dec 3, 2012 at 2:33
  • @zerkms it will display a value once i enter something into textbox – Mowgli Mecha IV Commented Dec 3, 2012 at 2:35
  • @Mowgli Mecha IV: you don't understand - span DOM element doesn't have .value attribute. Only input fields have. – zerkms Commented Dec 3, 2012 at 2:45
Add a ment  | 

4 Answers 4

Reset to default 8
parseFloat( document.getElementById("amountDue").value );

is technically equivalent to

parseFloat( undefined );

which yields the value NaN because span elements do not have a property named .value. Maybe you wanted .innerHTML?

parseFloat( document.getElementById("amountDue").innerHTML );

#amountDue is a <span> element, so it does not have a value property.

Use .innerHTML to get its contents.

var amountDue = parseFloat(document.getElementById("amountDue").innerHTML);

This will not return you the value:

      document.getElementById("amountDue").value

as amountDue is not a HTML input element.

Try below:

     document.getElementById("amountDue").innerHTML;

i.e.

    var amountDue = parseFloat(document.getElementById("amountDue").innerHTML);

value of amountDue is returning undefined, causing the parseFloat to return NaN Use innerHTML instead. Change this row

var amountDue = parseFloat(document.getElementById("amountDue").value);

to

var amountDue = parseFloat(document.getElementById("amountDue").innerHTML);
发布评论

评论列表(0)

  1. 暂无评论