使用php和javascript获取NaN值

Getting NaN value using php with javascript

本文关键字:NaN 获取 javascript php 使用      更新时间:2023-09-26

我正在努力开发在线报价表。我试图根据是否勾选复选框来更改价格。

行为应该是:初始页面加载-标准(来自mysql-可变)价格勾选复选框时,价格为20美元(来自mysql)当复选框取消选中时-返回到标准可变价格

我目前的行为是:初始页面加载-标准(来自mysql-可变)价格勾选复选框时-20美元(来自mysql),但未添加到原始价格取消选中复选框时-NaN

我可以确认价格是以整数形式存储在mysql中的,例如292如有任何帮助,我们将不胜感激。

以下代码:php在html页面中

<?php 
$table = $_GET['bintype'];
$pcode = $_GET['tags'];
include 'connect.php';
$result=mysqli_query($con,"SELECT * FROM $table WHERE short='$pcode'");
$row_cnt = mysqli_num_rows($result);
if($row_cnt == 0)
{
        PRINT "<p align='middle'>No go</p>"; 
 }
else
while($row=mysqli_fetch_array($result))
  {
  $b = number_format($row['barrow'], 2) AND "<div id='barrowid'>"; 
  $c = number_format($row['2m3 General'], 2) AND "<div id='total_price'>";
  $d = $row['2m3 General'] AND "<div id='total_number'>";
  echo "<form id='checkboxval'><input type='checkbox' id='checkit' name='menu1'
  value=".$b.">
  </input> <div id='total'>Total:$".$d."</div>
  </form>";
  }
mysqli_close($con);
?>

javascript

var checkbox = document.getElementById("checkit");
checkbox.onclick = function () {
    var subtotalField = document.getElementById("total_price");
    var checkboxes = document.forms["checkboxval"].getElementsByTagName("input");
    var subtotal = document.getElementById("total_price");
    var total = document.getElementById("total_price");
 for (var i = 0, length = checkboxes.length; i < length; i++) {
    if (checkboxes[i].checked) {
        var newSubtotal = parseInt(subtotal.innerHTML) + parseInt(checkboxes[i].value);
        subtotal.innerHTML = newSubtotal; 
    }
}
    total = (parseFloat(subtotal));
    document.getElementById("total").innerHTML = "Total:$" + total;
};

您的变量subtotaltotal是DOM元素,您需要在执行算术之前从中提取值。

for (var i = 0, length = checkboxes.length; i < length; i++) {
    if (checkboxes[i].checked) {
        var newSubtotal = parseInt(subtotal.innerHTML) + parseInt(checkboxes[i].value);
        subtotal.innerHTML = newSubtotal; 
    }
}

您的代码有点混乱。仔细检查一下,删除多余和重复的代码。此外,请检查以下内容:document.getElementById("$total_number");id = "$total_number"的元素在哪里?