您好我在sumbit表单后使用ajax保持在同一页面上。 如果成功,我将使用ajax加载来加载其他页面,其中包含有关产品数量的文本。 问题是如果我先提交,数量+ 1 /秒提交数量+2(所以现在总数为3)/第三次提交,数量+3(所以现在总数为6)。 我希望它只能+1
我有3页。
product.php页面(有产品和按钮添加到购物车(提交)) 我在这里使用ajax
$(document).ready(function() {
$('.add-to-cart').on('click', function() {
$(document).on('submit', '.myForm', function(e) {
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: $(this).serialize(),
success: function(html) {
$("#outside_cart_text").load("<?php echo base_url();?>shopping/ajax_text.php", function(responseTxt, statusTxt, xhr) {
if (statusTxt == "success")
if (statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
});
}
});
e.preventDefault();
});
});
});
如果成功购物,则加载ajax的页面/ ajax_text.php
<?php echo $_SESSION('qty_type'); ?> type <?php echo $_SESSION('qty_product');?>
购物车页面 - 第一页(product.php)表单将提交到此页面。此页面包含有关将项目添加到购物车的代码逻辑。所以我在这个页面中创建会话
$_SESSION['qty_type'] = $sizeof_cart_array;
$_SESSION['qty_product'] = $total_item;
答案 0 :(得分:0)
为什么你要同时打电话点击和提交? 只需在单击时调用并处理它。
$(document).ready(function() {
$('.add-to-cart').on('click', function() {
$(document).on('submit', '.myForm', function(e) {<br/> /// code goes here