JQuery表单提交随机工作

时间:2013-01-10 04:06:45

标签: php javascript jquery magento

我有一组Javascript / jQuery sprint来处理表单提交:

     $('#addtocart').click(function (e){

        // No Accessories: normal submit
        if ($('#accessories ul li').size()==0) {
            $('#quickbuyform').submit();
            return true;
        }
        strName = "<?php echo $_product->getName() ?>";

        // Pop with loading
        popAccessories();
        $('.pop_accessories_area_button').show();$('.pop_accessories_area_button').show();
        e.preventDefault();
    });


    $('#nothanks').click( function (){
        $('#quickbuyform').unbind('submit').submit();
    });

    $('.aceimg').click( function (){    
        $('#quickbuyform').unbind('submit').submit();
    });

要求: 因此,当您点击addtocart时,它会检查是否有适合此特定产品的配件。如果没有,只需提交表格即可。如果有附件,则div部分显示为弹出窗口。从该弹出窗口中,如果用户点击任何附件产品,则应提交quickbuyform

问题:现在表单提交变得如此随机。有时它提交表单,而有时则不提交。

帮助:任何人都可以看到,我在这里做错了什么......?

感谢名单

2 个答案:

答案 0 :(得分:1)

这似乎是问题所在:

<div class="aceimg>内,你有一个<a href="some-product-link.html">

实际上,在评估您的JQuery之前,浏览器会开始转到<a>标记中的链接。

您可以做的是删除链接(因为它只是为了选择一个附件而不是查看它)。

如果您需要任何进一步的帮助,请告诉我们。

答案 1 :(得分:0)

这里有一些可能出错的地方,特别是间歇性的:

  • 如果未设置$ _product-&gt; getName()或在PHP中抛出错误 无论出于何种原因,它都会出现错误信息(包括HTML) 根据您的服务器格式化为strName的值 组态。这通常会破坏js并导致它停止工作。检查错误控制台是否有语法错误消息。

为什么    需要做两次:

  。

$( 'pop_accessories_area_button ')显示(); $('。pop_accessories_area_button')显示();

和此:

  
    

$( '#quickbuyform')解除绑定( '提交')提交()。;

  
而不是    这个:

  

$( '#quickbuyform')提交();

这表明你可能有    在页面上不止一个这样的表格,你正在尝试    解决它。您可能正在提交隐形表单而不是您想要的表单等。

这不是一个真正的解决方案,我必须看到你正在看的更多内容,但我遇到了上述情况。

我刚检查过,你在这里也有404错误:

http://www.impressiveinvitations.com.au/skin/frontend/dreamday/imtheme/js/jquery.form.js

这可能与它有关......