gpt4 book ai didi

ajax - Jquery ajaxSubmit 也执行常规表单提交

转载 作者:行者123 更新时间:2023-12-01 01:16:29 28 4
gpt4 key购买 nike

我正在尝试为我的 Magento 商店之一运行以下 Jquery ajaxSubmit。我使用 ajaxSubmit 是因为我还需要从表单上传 2 个文件(意味着我需要 $_FILE 中的数据)。但是,当我执行 ajaxSubmit 时,它还会执行普通表单提交,这将刷新页面并将我带到下一页,而不是停留在同一页面上,其中有一个弹出框,其中包含更多内容。我有 return false; 来防止这种情况,但它失败了。提交代码:

$('#quickbuyform').submit(function (){

// No Accessories: normal submit
if ($('#accessories ul li').size()==0) {
return true;
}

strName = "<?php echo $_product->getName() ?>";

// loading message
$('#pop_accessories_area_message').html("We are adding '"+strName+"' into your shopping cart ...");
// Pop with loading
popAccessories();

// loading icon
//var dataString = $('#quickbuyform').serialize();
$.ajaxSubmit({
type: "POST",
url: $('#quickbuyform').attr('action'),
data: dataString,
beforeSubmit: showRequest,
success: function() {
// display cart link:
$('#pop_accessories_area_message').html(strName+" was added to <a href='<?php echo $this->getUrl('checkout/cart') ?>'>your shopping cart</a>.");
$('.pop_accessories_area_button').show();
//window.location = '<?php //echo $this->getUrl('checkout/cart') ?>';
}
});
return false;
});

这就是我现在使用 e.preventDefault() 所拥有的,但现在它不提交任何内容。只需停在 ('#quickbuyform').ajaxSubmit

$('#quickbuyform').submit(function (e){
e.preventDefault();
// No Accessories: normal submit
if ($('#accessories ul li').size()==0) {
return true;
}

strName = "<?php echo $_product->getName() ?>";

// loading message
$('#pop_accessories_area_message').html("We are adding '"+strName+"' into your shopping cart ...");
// Pop with loading
popAccessories();

$('#quickbuyform').ajaxSubmit({
type: "POST",
url: $('#quickbuyform').attr('action'),
data: dataString,
success: function() {
// display cart link:
$('#pop_accessories_area_message').html(strName+" was added to <a href='<?php echo $this->getUrl('checkout/cart') ?>'>your shopping cart</a>.");
$('.pop_accessories_area_button').show();
//window.location = '<?php echo $this->getUrl('checkout/cart') ?>';
}
});
return false;
});

最佳答案

您可以通过调用事件对象的preventDefault方法来停止正常的表单提交。

$('#quickbuyform').submit(function (e) {
e.preventDefault();
...
});

关于ajax - Jquery ajaxSubmit 也执行常规表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13852442/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com