0

わかりましたので、Jquery を使用してカートに追加する ajax を作成しました。基本的にボタンをクリックすると、jqueryを使用してデータがphpページに渡され、変数に変換されたデータが返され、アイテムがカートに追加され、カートがポップアップし、「カートに追加されたアイテム」の画像が表示されます確認として表示されます。とにかく...これはすべて完璧に機能します。

これは私の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 に答える