javascript - 表单字段数据的实时计算未插入数据库
问题描述
我有一些表单域。某些表单字段数据被禁用。表单字段就像实时计算。它计算得很好。即使它插入到数据库,但禁用的表单字段数据没有插入。我的 HTML 代码在这里
<form method="POST" oninput="x.value=parseInt(a.value)-parseInt(a.value)*parseInt(b.value)/100;y.value=x.value-parseInt(c.value);x.value=parseInt(x.value);">
<?php
$sql= mysqli_query($con,"SELECT SUM(room_book.price) AS total, room.rn,room.rc,room.tbn,room.rp,room_book.room_number,room_book.bed_book,room_book.rand FROM room INNER JOIN room_book ON room.rn = room_book.room_number WHERE room_book.rand = '$rand'");
while ($row = mysqli_fetch_assoc($sql)) {
?>
<div class="row ">
<div class="form-group col-md-3">
<label>Total Price</label>
<input value = "<?php echo $row['total']; ?>" id="a" name="price" disabled class="form-control" placeholder="(৳)<?php echo number_format($row['total']); ?>">
</div>
<div class="form-group col-md-3">
<label>Discount In Percentage(%)</label>
<input value = "0%" name="prcntg" required id="b" class="form-control" placeholder="0%">
</div>
</div>
<div class="row ">
<div class="form-group col-md-3">
<label>Total Payable</label>
<input name="x" disabled class="form-control" placeholder="">
</div>
<div class="form-group col-md-3">
<label>Total Paid</label>
<input name="paid" id="c" required class="form-control" placeholder="(৳)<?php echo number_format($row['total']); ?>">
</div>
</div>
<div class="row ">
<div class="form-group col-md-3">
<label>Total Due</label>
<input name="y" for="c" disabled class="form-control" placeholder="(৳)<?php echo number_format($row['total']); ?>">
</div>
<div style="margin-top:24px" class="form-group col-md-3">
<button name="submit" type="submit" data-loading-text="Loading..." class="btn btn-success"><i class="glyphicon glyphicon-ok-sign"></i> Confirm Invoice</button>
</div>
</div>
<?php } ?>
</form>
这些代码运行良好。见截图
我的 PHP 代码
<?php
if(isset($_POST['submit'])){
$price = $_POST['price'];
$prcntg = $_POST['prcntg'];
$x = $_POST['x'] ;
$paid = $_POST['paid'];
$y = $_POST['y'] ;
$sql = mysqli_query($con,"UPDATE `room_book` SET prcntg = '$prcntg', x = '$x', paid = '$paid', due = '$y', status = 'Active'");
if($sql == true){
echo "<script> window.open('final.php?final=$rand','_self'); </script>";
}
?>
禁用的数据剩余为 0。我该如何解决这个问题。
解决方案
当您禁用任何 HTML 元素或对任何 HTML 元素使用 disabled 属性时,它不会提交并且您看不到这些值。该名称本身表明该元素已禁用。请改用只读属性。
希望这可以帮助。
推荐阅读
- mysql - 查找并分组同一个月的所有记录,相隔 1 年
- reactjs - React:保存状态更新 DOM 但不更新控制台
- jupyter-notebook - Jupyter 中的 Julia:内核错误(“无法在 IJulia 中预编译”)
- entity-framework-core - 如何在 EF Core v3 中进行左外连接
- ios - 将功能添加到 Watch Extension 时 Xcode 崩溃
- r - Closest other Value in the same Vector
- typescript - 在 Jest 和 TypeScript 中使用可选参数模拟函数
- sql - 为存储过程中的变量赋值
- android - 无法从 ListView ArrayList 中获取正确的数据
- php - 如何从闰年减去一年