【问题标题】:JavaScript - How can I run the javascript in all my html rowsJavaScript - 如何在我的所有 html 行中运行 javascript
【发布时间】:2016-07-02 05:21:20
【问题描述】:

我正在创建发票表单,我编写了一个 Java 脚本来计算税收和折扣价格作为用户的价值,但它只是在一行中工作,我怎样才能让它在所有行上工作

Javascript 计算折扣和税收

HTML 表单

【问题讨论】:

  • 欢迎来到 Stack Overflow!请参阅How to Askminimal reproducible exampleedit 您的问题包括minimal reproducible example。这将通过澄清问题来帮助 Stack Overflow 社区。​​span>
  • 不是正确的提问方式。但是,从最初的图像看,您似乎需要为行中的每个元素提供唯一的“id”。祝你好运。
  • 对于多个表单,使用class 而不是id 我也会将mysql 更改为mysqli。

标签: javascript html


【解决方案1】:

更好的选择是在 PHP 中执行此计算,但如果您想在 Javascript 中执行此操作,您可以执行以下操作:

尝试创建一个 JS 函数,接收所有值和输出输入字段的 id,并确保输出字段的 id 是不同的。

JS 代码

function calculate(unit_price, quantity, discount, tax, output_id) {
    var subtotal = "do subtotal calc here";
    document.getElementById(output_id).value = subtotal;
}

PHP/HTML 代码

<?php
    // mySQL Code goes here
    while($row = mysql_fetch_array($result, MYSAL_ASSOC))
?>
<div class="centered">
    <table border="1">
    <tr>
        <form id = "invoiceform" action="final.php" method="post">
        <td><input type="text" id="Sl_no" value="<?php echo $s; ?>"></td> <!-- DO NOT INCREASE $S HERE YET-->
        <td><input type="text" id="partno" value="<?php echo $p[$j]; ?>"></td>
        <td><input type="text" id="description" value="<?php $row['Description']; ?>"></td>
        <td><input type="text" id="unit_price" value="<?php echo $row['Unit_Price']; ?>"></td>
        <td><input type="text" id="quantity" value=""></td>
        <td><input type="text" id="discount" value=""></td>
        <td><input type="text" id="tax" value=""></td>
        <td><input type="text" id="<?php echo 'subtotal_'.$s;?>" value=""></td>
        <script>
        calculate(<?php echo $row['Unit_Price']; ?>, <?php echo $row['Quantity']; ?>, <?php echo $row['Discount']; ?>, <?php echo $row['Tax']; ?>, <?php echo 'subtotal_'.$s; s++;?>);
        </script>
    </tr>
    </table>
</div>

P.S. 尝试使所有字段 id 不同,因为 HTML 页面应该在元素上具有不同的 ID

【讨论】:

  • 当我尝试使用上述代码时,小计中出现错误:未捕获类型错误:无法设置属性“值”为空
  • 只需检查两种情况下的键名是否相同
  • 我仍然建议你在 php 端做这个计算,因为用户可以很容易地在他们的浏览器上禁用他们的 JS。
  • 我不知道如何在 PHP 中做到这一点,我是 php 新手,我的朋友建议我使用 Java,你能给我建议,所以我会尝试在 php 中做到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-14
  • 2012-05-12
  • 2016-04-27
  • 2011-10-30
  • 2014-12-25
  • 2021-11-13
相关资源
最近更新 更多