0

好的,所以我使用 Jquery 创建了一个 ajax 添加到购物车。基本上点击一个按钮,数据被传递到一个php页面,使用jquery,然后返回数据,这些数据被转换成变量,项目被添加到购物车,购物车被弹出,“项目添加到购物车”图像是显示为确认。无论如何......这一切都很完美。

这是我的jQuery代码:

$(document).ready(function(){

    $("#qtyform").validationEngine({promptPosition : "topLeft:0,15", scroll: false});
    //Examples of how to assign the ColorBox event to elements

    $("#cartbtn").click(function () {
        //$('.addcartform').submit();
        $("#cbox").stop(true,false).animate({right:  0}, 500);
        Qty=document.qtyform.Qty.value;
        ProductID=document.qtyform.ProductID.value;
        CatID=document.qtyform.CatID.value;
        Price=document.qtyform.Price.value;
        <?php if(isset($_GET['cart'])) {?>
        itemid=document.qtyform.itemid.value;
        <?php }elseif(isset($_GET['del'])){ ?> 
        itemid2=document.qtyform.itemid2.value;
        <?php } ?>
        //$('#cartresult').load("process.php?Qty="+Qty+"&ProductID="+ProductID+"&CatID="+CatID+"&Price="+Price<?php if(isset($_GET['cart'])) {?>+"&itemid="+itemid<?php }else if (isset($_GET['del'])){ ?>+"&itemid2="+itemid2<?php } ?>);

        $.get("process.php?Qty="+Qty+"&ProductID="+ProductID+"&CatID="+CatID+"&Price="+Price<?php if(isset($_GET['cart'])) {?>+"&itemid="+itemid<?php }else if (isset($_GET['del'])){ ?>+"&itemid2="+itemid2<?php } ?>, function(data) {
         //alert("Data = "+data);
         mydata = data; 
         var mytext = mydata.split('#');

        var message = mytext[0];
        var linkto = mytext[1];
        var hreftext = mytext[2];
        var finalQty = mytext[3];

        $('#cartresult').html('<span style="margin:0px 0px 0px 30px"><img src="images/ajax-loader-cart.gif" width="24" height="24" alt="" /></span>');

        document.getElementById('cartresult').innerHTML = '<br /><a href="'+linkto+'">'+hreftext+'</a>';
        document.getElementById('cartnum').innerHTML = finalQty;

        });
    });
});

现在的问题是:

$("#qtyform").validationEngine({promptPosition : "topLeft:0,15", scroll: false});

上面的行使用 Jquery 内联验证来验证 Quantity 的输入框。如果输入的值不是数字,则不会将其添加到购物车中。这也有效,但仍显示添加到购物车的图像。我想阻止这一切。添加图像的行是这一行:

$('#cartresult').html('<span style="margin:0px 0px 0px 30px"><img src="images/ajax-loader-cart.gif" width="24" height="24" alt="" /></span>');

任何人都可以在 Jquery 或 PHP 中建议一种方法来检查输入的值是否为数字,或者如果没有任何内容添加到篮子中,则以某种方式停止显示图像。我对 Jquery 相当陌生,但可以弄清楚,我对 PHP 更擅长。先感谢您。

4

1 回答 1

0

你的意思是

if (message.indexOf("error") !=-1) { alert('Nope'); return false;} 
else {
    $('#cartresult').html('<span style="margin:0px 0px 0px 30px"><img src="images/ajax-loader-cart.gif" width="24" height="24" alt="" /></span>');

    document.getElementById('cartresult').innerHTML = '<br /><a href="'+linkto+'">'+hreftext+'</a>';
    document.getElementById('cartnum').innerHTML = finalQty;
}
于 2012-12-06T13:21:02.667 回答