2017-11-05 11 views
0

%10の控除を計算するショッピングカートの割引コードがありますが、すべて正常に動作しますが、マイナス値として割引額($discount_amount)を表示したいとします。割引が適用されていない場合は£0.00を表示します。PHPファイルから変数を表示

page.php:

$currency = '£'; 

if(isset($_POST['action']) && $_POST['action'] == "coupon_dis") 
{ 
    $couponcode = trim($_POST['couponval']); 
    $amnt = $_POST['amnt']; 
    $val = '0'; 
    if($couponcode == "loyalty10"){ 
     $couponDiscount_val = "10"; 
     $discount_amount = ($amnt*$couponDiscount_val)/100; 
     $amount_after_discount = $amnt - $discount_amount; 
     $val = sprintf("%01.2f", $amount_after_discount); 
    } 
    $_SESSION['discount_amount'] = sprintf("%01.2f", $discount_amount); 
    $_SESSION['product_discount'] = $val; 
    echo $currency.$val; 
} 

のjavascript:負の値を変換の一部を行う必要があります

$(document).ready(function(){ 
$("#addcoupon").click(function(){ 
    var ttlamt = $("#ttl_amount").val(); 
    var ccode = $("#couponcode").val(); 
    var cpn = ccode.replace(/\s/g, ''); 
    if(cpn.length <= 0){ 
     $("#couponcode").css("border-color","red"); 
    }else{ 
     $("#couponcode").css("border-color",""); 
     $.ajax({ 
      url: "page.php", 
      method: "POST", 
      data: {action:"coupon_dis",couponval: cpn,amnt: ttlamt}, 
      cache: false, 
      success: function(data){ 
      if(data != "0"){ 
       $("#grandamount").css("display","none"); 
       $("#couponcode").css("border-color","green"); 
       $("#grand_discount_amount").css("display","block"); 
       $("#grand_discount_amount").html(data); 
      }else{ 
       $("#grandamount").css("text-decoration",""); 
       $("#couponcode").css("border-color",""); 
       $("#grand_discount_amount").html(""); 
       $("#grand_discount_amount").css("display","none"); 
      } 
      } 
     }); 
    } 
    return false; 
}); 

答えて

0

あなたはPHPから複数の値を返すことができます。

// ... your code 

$return = [ 
    'price' => $currency.$val 
    'discount' => $currency.$discount_amount 
]; 

// Make sure Javascript knows you're returning JSON data 
header('Content-Type: application/json'); 
echo json_encode($return); 

は今、あなたはあなたのJavaScriptでこれらの値を使用することができます。

$.ajax({ 
     // Specify that the response will be JSON 
     dataType: 'json', 

     // ... your code 

     success: function(data){ 
      // Now you can access each element of your response with dot notation 
      $("#grand_discount_amount").html(data.discount); 
      $("#some_other_field").html(data.price); 
+0

完璧、よろしくお願いいたします。 –

0

gmp_neg( "$のVAR")。しかし、それはプラスにマイナス、マイナスに変化します。 $ discount_amountに(-1)を掛けることはできませんか? 0 *( - 1)= 0 ... 同じページに表示したい場合は、ajaxを使用できますが、phpの結果をより多くの配列に分割する場合は、json_encode_arrayを使用できます。それとも、あなたは$ _SESSIONを...で必要なものを仕入れることができ

関連する問題