php - 表单操作不适用于表单内的表格
问题描述
我在这样的表格中有一个表格:
<form action="file.php" id="myform" method="POST">
<div class="table-responsive ">
<table class="table table-hover" id="tblDetalle">
<thead class="thead-dark">
<tr>
<th>Id</th>
<th>Name</th>
<th>Quant.</th>
<th>Price</th>
<th>Total Price</th>
</tr>
</thead>
<tbody">
<?php
if(!isset($_SESSION['products'])){
}else{
foreach($_SESSION['products'] as $product=>$details){
echo '
<tr class="txtMult">
<th scope = "row">'.$details["code_product"].'</th>
<th scope = "row">'.$details["name_product"].'</th>
<td><input class="val2" type="number" id="quantity" name="quantity" min="1" max="100"></td>
<td class="val1">'.$details["price"].'</td>
<td><span class="multTotal">0.00</span></td>
</tr>
';
};
}
?>
</tbody>
<tfoot>
<tr class="font-weight-bold">
<td colspan=4>Total <span id="grandTotal">0.00</span></td>
<td></td>
</tr>
</tfoot>
</table>
<input type="submit" value="Submit"/>
</div>
</form>
我的实际问题是提交按钮不起作用,单击按钮时没有采取任何操作。我的想法是通过 POST 方法将表的所有内容发送到 file.php。
有一个以价格*数量更新的脚本,但我认为问题不存在。
<script type="text/javascript">
$(document).ready(function () {
$(".txtMult input").keyup(multInputs);
function multInputs() {
var mult = 0;
// for each row:
$("tr.txtMult").each(function () {
// get the values from this row:
var $val1 = parseInt($('.val1', this).text())
var $val2 = $('.val2', this).val();
var $total = ($val1 * 1) * ($val2 * 1)
$('.multTotal',this).text($total);
mult += $total;
});
$("#grandTotal").text(mult);
}
});
</script>
有人可以帮忙吗?:)
解决方案
可以在表单中使用表格,但我认为您的方法是错误的。您可以将表格放入表单中,反之亦然,这样做通常很有用。但是你需要了解你在做什么。
表格和表单可以以任何一种方式嵌套。但是如果将表格放入表格中,则每个表格都必须完全包含在单个表格单元格中(实际上是一个 TD 元素)。因此,表格中的每一个都是完全独立的。所以试着把表格放在需要输入的表格单元格中
推荐阅读
- c++ - 如何以编程方式获取网页全部内容的源代码?
- spring - 在spring boot中跟踪整个编辑过程
- apache-nifi - Apache-NIFI - 在重新验证令牌时暂停流
- javascript - 从 npm 包复制示例时获取“gulp 管道不是函数”
- graph - 图可能的 DFS 和 BFS 遍历序列的总数是多少?
- ios - SwiftUI:如何以编程方式更改 rootview 控制器
- javascript - 基于工作日和时区的时间槽创建
- odata - OData API - 406 不可接受
- list - 如何在 SwiftUI 中删除单行列表中的分隔符?
- laravel - npm run watch 在 laravel 中显示错误