简体   繁体   English

尝试使用JavaScript使用php pdo计算选定座位的总预订价格吗?

[英]Trying to use JavaScript to calculate total booking price for selected seats using php pdo?

I am trying to use JavaScript to calculate total price for the tickets which are selected by using the checkbox. 我正在尝试使用JavaScript计算使用复选框选中的机票的总价。 The result is should be shown in a alert window by clicking on the check button which invokes the JavaScript function. 通过单击调用JavaScript函数的复选按钮,应在警报窗口中显示结果。 But when I click the button nothing happens. 但是,当我单击按钮时,什么也没有发生。 I don't even get any error message. 我什至没有收到任何错误消息。 I am a beginner so please if anyone can help me, I will be extremely thankful. 我是初学者,所以如果有人可以帮助我,我将非常感谢。

    <?php foreach ($res as $row): ?>
    <form action="book.php" method="get">
    <tr><td><?php echo $row['RowNumber']; ?></td><td><?php echo $row['Price']; ?></td>
    <td><input type="checkbox" type="hidden" name="myForm[<?php echo $row['RowNumber']; ?>][row]" id="row" value="<?php echo $row['RowNumber']; ?>"></input></td></tr>
    <input type="hidden" name="myForm[<?php echo $row['RowNumber']; ?>][price]" id="price" value="<?php echo $row['Price']; ?>"></input>
    </form>
    <?php endforeach; ?>
    </table>
    <form action='book.php' method='get'>
    Enter Email:<input type='text' name='name'></form>
    <script>
    function summary() {
    var total = 0.0;
    var seats = document.getElementById("row").value;
    for(i = 1; i <= document.getElementById("row").value; i++) {
        if(document.getElementId("row").checked) { 
        total = total + parseFloat(document.getElementById("price").innerHTML);
        }
    }
        return total;
        alert("Price of seats =" + total);
    }
    </script>
    <input type="button" onclick="summary()" value="check">
    <?php

You're returning before calling the alert, which means you never get to the alert itself. 您要在致电警报之前返回,这意味着您永远不会到达警报本身。 Remove the return total line. 删除退货总额行。

This is a very common problem.All we have face atleast once.you should use Chrome istead of firefox or internet explorer.close your webpage and restart again. 这是一个非常普遍的问题。我们所遇到的至少是一次。您应该使用Chrome而不是firefox或Internet Explorer。关闭您的网页,然后重新启动。 return total should be after alertbox. 返回总数应在警报框之后。 thankx. 谢谢。

You can try this sample 您可以尝试此示例

<form action="book.php" method="get">
  <table>
    <?php foreach ($res as $row): ?>
    <tr data-rownumber="<?php echo $row['RowNumber']; ?>">
      <td><?php echo $row['RowNumber']; ?></td>
      <td><?php echo $row['Price']; ?></td>
      <td>
        <input type="checkbox" name="myForm[<?php echo $row['RowNumber']; ?>][row]" id="row-<?php echo $row['RowNumber']; ?>" value="<?php echo $row['RowNumber']; ?>" onclick="summary()" />
        <input type="hidden" name="myForm[<?php echo $row['RowNumber']; ?>][price]" id="price-<?php echo $row['RowNumber']; ?>" value="<?php echo $row['Price']; ?>" />
      </td>
    </tr>
    <?php endforeach; ?>
  </table>
</form>
<form action='book.php' method='get'>
  Enter Email:<input type='text' name='name'>
</form>

<script>
  function summary() {
    var total = 0.0;

    var table = document.getElementById('items-table');
    var rows = table.getElementsByTagName('tr');
    for (var i = 0; i < rows.length; i++) {
      var row = rows[i];
      var rowNumber = row.getAttribute('data-rownumber');

      var isChecked = document.getElementById('row-' + rowNumber).checked;
      if (isChecked) {
        var price = parseFloat(document.getElementById('price-' + rowNumber).value);
        total += price;
      }
    }

    alert("Price of seats = " + total);
    return total;
  }
</script>
<input type="button" onclick="summary()" value="check">

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM