gpt4 book ai didi

Javascript 将 2 个字段与 PHP while 循环内的第三个字段中的答案相乘

转载 作者:行者123 更新时间:2023-12-03 09:27:29 26 4
gpt4 key购买 nike

我正在显示 MySQL 表中使用的零件的数量和价目表中的记录,并将任何更改更新回数据库,但我还需要一个计算字段,即数量 * 价格 = 金额。我似乎无法让它发挥作用。我是 JavaScript 新手。我使用了 GetElementById,它在第一个总计中显示了 NaN,然后​​我考虑了一下,我认为它可能会遍历整个表。

因此尝试在 while 循环中创建动态 ID,但无法显示它。我不确定我是否在正确的轨道上如何在不提交页面的情况下实现计算。任何帮助,将不胜感激谢谢。

<?php
while ($list_parts = mysqli_fetch_array($parts_result))
{
echo " <table border ='0' table width = 95%>";
echo '<td> <input type="hidden" value="'.$list_parts['unique_id'].'" name="changed_unique_id[]">';
echo '<td> <input type="hidden" value="'.$list_parts['job_number'].'" name="changed_job_number[]">';
echo '<td> Quantity <input type="text" value="'.$list_parts['qty'].'" name="changed_part_quantity[]" id="qty'.$list_parts['unique_id'].'" onkeypress="qty'.$list_parts['unique_id'].'">';
echo '<td> Description <input type="text" value="'.$list_parts['item_description'].'" name="changed_item_description[]">';
echo '<td> Part Number <input type="text" value="'.$list_parts['part_number'].'" name="changed_part_number[]">';
echo '<td> Part Price <input type="text" value="'.$list_parts['price'].'" name="changed_part_price[]" id="price'.$list_parts['unique_id'].'" onkeypress="price'.$list_parts['unique_id'].'">';
echo '<td> Total <input type="text" value="'.$list_parts['sub_total'].'" name="changed_part_sub[]" id="total'.$list_parts['unique_id'].'" >';
echo "</tr>";
}
echo "</table>";
?>

我的JavaScript如下

function showtotal(){
var quantity = document.getElementById("qty'.$list_parts['unique_id'].'").value;
var price = document.getElementById("price'.$list_parts['unique_id'].'").value;
var sum = parseInt(quantity) + parseInt(price);
document.getElementById("total'.$list_parts['unique_id'].'").value = sum;
}

最佳答案

如果你想在 JavaScript 代码中打印内容,你应该插入 php 标签,以提高代码的可读性和安全性。但问题是你试图用“.”“添加”“数量”和“$list_parts”的结果,这是 PHP 代码,在 JavaScript 中,你使用“+”。

我还注意到,在您的 PHP 代码中,您在 while 内创建了一个“table”元素,但仅在外部将其关闭。那么您的代码肯定会出现错误,因为多个“表”将打开,但只有一个关闭。您应该将“表”的闭包移至 while 循环内,或将开口移至 while 循环外。

编辑 - 在 getElementById 中我写了“qty + ”,但这是错误的,因为您创建的 ID 只是“qty”,因此 JavaScript 试图获取一个不支持的 ID存在。

所以你发现的 JavaScript 应该是:

function showtotal(){
var quantity = document.getElementById("qty<?php echo $list_parts['unique_id']; ?>").value;
var price = document.getElementById("price<?php echo $list_parts['unique_id']; ?>").value;
var sum = parseInt(quantity) + parseInt(price);
document.getElementById("total<?php echo $list_parts['unique_id']; ?>").value = sum;
}

关于Javascript 将 2 个字段与 PHP while 循环内的第三个字段中的答案相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31621623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com