【发布时间】:2022-01-18 11:12:25
【问题描述】:
我正在尝试将数据发布到 php 文件。
假设 php 结果中列出了大约 20 种产品 (P1 - P20)。
当我们点击 P5 的 Add to Cart 按钮时,它应该将所选 P5 的数量和 productid 发布到 pre-cart.php
但它发布了第一个结果,即 P1
我使用了以下代码:
<?php
...
if($query->rowCount() > 0)
{
foreach($results as $result)
{?>
<form>
<input class="qty-text" type="text" id="order" name="order" value="<?php echo htmlentities($result->minor);?>">
<input class="qty-text" type="hidden" type="text" id="product" name="product" value="<?php echo htmlentities($result->proid);?>">
<button type="submit" class="btn btn-primary" onclick="return clickButton();">Add to Cart</button></form>
<?php }} ?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
function clickButton(){
var quantity=document.getElementById('order').value;
var product=document.getElementById('product').value;
$.ajax({
type:"post",
url:"pre-cart.php",
data:
{
'quantity' :quantity,
'product' :product
},
cache:false,
success: function (html)
{
alert('Data Send');
$('#msg').html(html);
}
});
return false;
}
</script>
【问题讨论】:
-
该代码中只有一个数量/产品对,不是吗?您能否详细说明问题所在?你确定它不在 PHP 代码中吗?
-
我不明白应该给你的代码什么“第二个结果”。
-
“第一个结果”是什么意思?结果是什么?什么会构成“第二个结果”?您的表单中恰好有两个字段,并且您正在将两个字段发送到 PHP。我怀疑您没有向我们提供您的问题的minimal reproducible example。请更新问题,以便我们完全理解问题。
-
如果您在页面上重复前三行(使用不同的值),请记住
id在页面上必须是唯一的,如果有多个会混淆问题。
标签: javascript php jquery ajax