0

注文フォームにクーポン/プロモーション/割引コードを設定しようとしていますが、updatePrices機能に移動するためのクーポン金額を取得できません。

function updateCoupon() {
var coupon = $('#coupon').val();
if (coupon.length) {
    $('#couponContainer .checking').show();         
    $.ajax({
        url: "/includes/pscript/coupon.php",
        data: {coupon: coupon},
        dataType: 'json',
        type: 'POST',
        success: function(data) {
            if(typeof data.available != 'undefined' && data.available == true) {
                    coupon_discount = new Number(data.price.discount);
                    $('#couponStatus').html('<p>'+data.status+'</p > ');
                    $('#couponContainer .checking').hide();
                    $('#couponStatus').show();
                    updatePrices(coupon_discount);
            }  else {
                    coupon_discount = 0;
                    $('#coupon ').val('');
                    $('#couponContainer .checking').hide();
                    $('#couponStatus ').hide();
                    $('#couponStatus ').html('');
                    alert('Sorry this discount code is no long valid!');
            }
        },
        error: function() {
                coupon_discount = 0;
                $('#coupon ').val('');
                $('#couponContainer .checking').hide();
                $('#couponStatus ').hide();
                $('#couponStatus ').html('');
                alert('Sorry this discount code is no long valid!');
        }
    });
}
else
{
    coupon_discount = 0;
    $('#coupon').val('');
    $('#couponContainer.checking ').hide();
    $('#couponStatus ').hide();
    $('#couponStatus ').html('');
    alert('Sorry this discount code is no long valid!');
}

}

上記は機能し、金額を受け取ります。金額が決まったら、updatePrices()に送信します。

function updatePrices(a, coupon_discount) {

var item_price = 0;
var delivery_price = 0;
var discounts = 0;
if(coupon_discount != 0){
    var coupon_discount = coupon_discount;
    alert('Coupon '+coupon_discount);
}
var product = $("[name='Product']").val();

...

if(coupon_discount != 0)
    {
        discounts += coupon_discount;
    }

    var total = (item_price + delivery_price - discounts);

}

これはコードの一部にすぎません。私がやりたいのは、updateCouponが価格を取得してupdatePricesに送信することです。製品が変更されたと言うと、クーポンが削除され、メッセージが再適用されたように見えます。

現在の問題:updatePrices()で未定義になっています

4

1 に答える 1

1

呼び出しupdatePrices(coupon_discount);ているので、関数はとして定義されていupdatePrices(a, coupon_discount)ます。現在、値はvarにあるはずです。何のために?

于 2013-03-25T18:57:50.993 に答える