优惠券代码方法Ajax jquery

时间:2015-06-10 09:40:36

标签: php jquery mysql ajax coupon

我正在尝试将优惠券代码系统方法添加到我现有的表单中,唯一的问题是表单已经有表单操作。

<form id="apply" name="apply" method="post" action="<?php echo $editFormAction; ?>">

我搜索了一个解决方案的高低,偶然发现了一个AJAX java脚本/ jquery组合的解决方案。

在我的代码中,我将回显数据库中的折扣值,该值将用于数学运算。我还回应了优惠券代码本身以及要减少的总数。

<tr>
    <td class="detailnoborder"><label for="Dicount_code">Enter Code for Discount:</label>&nbsp;&nbsp;</td>
    <td class="detailnoborder1">
        <input type="text" tabindex="33" id="coupon" name="coupon_id" size="10"/>
        <input type="text" tabindex="10" id="T_cost" name="T_cost" size="5" value="<?php echo $row_rsMembershipTypes['Cost']?>"/>
        <input type="text" tabindex="10" id="Discount" name="Discount" size="5" value="<?php echo $row_rsdiscount['discount']?>"/>
        <input type="text" tabindex="10" id="D_amount" name="D_amount" size="5" value="<?php echo $row_rsdiscount['D_Cost']?>"/>
    <input type="button" id="Check" value="Check" onclick="chk_discount()" type="submit"/> 
</tr> 

我最初有一个名为chk_discount的函数,我完全不确定我在做什么。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
  $("#Check").click(function() {
      $.ajax({
         type: "POST",
         url: 'ajax.php',
         data:{coupon: $('#coupon').val(), },
         success:function(data) {
         if (data != ''){
         //display error message however you would like 
             }
          }
      });
 }
</script>

进一步的研究我决定创建一个连接到我的ajax.php文件的函数,php函数将在其中...说实话,我很友善。

 <?php
     if(isset($_POST['coupon'] == HXAR1){
         $D_Cost - $Cost; 
     }

     return ($Cost);
  ?>

理想情况下,当我发布到ajax时,我希望用另一个数据库减去一个数据库值来计算总成本,然后在提交时发送给Paypal,但支票折扣将在之前完成..

我不是要求任何人为我做这件事,但我会非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

我会尝试解释我的理解:

  
      
  1. 您有优惠券代码,可以从Javascript(客户端)到PHP(服务器端)检查优惠券是否已注册代码(HXAR1)。   这是一种确保用户不会更改它的安全方法   客户代码,然后,更改您的产品价值,或使用优惠券   那是没有注册的。然后你的服务器(PHP)是给予的主人   那个信息。

  2.   
  3. 从AJAX客户端(异步JavaScript和XML方法)调用ajax.php(将在服务器中运行的文件)后,您的PHP服务器函数将在应用后返回REAL COST   优惠券折扣,然后该值是您需要发送的价值   贝宝。

  4.   
  5. AJAX将在success方法中接收PHP返回值,然后,您需要在javascript(客户端)中检索此值并将其发送给PAYPAL。

  6.   

我会尝试解释你在哪里编码:

看看我准备好的代码片段。它很容易解释你如何将数据发送到php文件。

注意你有一些PHP代码让我觉得你有N次出现这种结构,那么$(“#Check”)或$(“#coupon”)选择器将不起作用如果有多个事件发生。我在那里删除了PHP代码,然后你可以使用自己的值

  $("#Check").click(function() {
        $.ajax({
          type: "POST",
          url: 'ajax.php',
          data: {
            Dis_code: $('#coupon').val(),
            T_cost: $('#T_cost').val(),
            Discount: $('#Discount').val()
          },
          success: function(data) {
            if (data != '') {
                        alert("you succesfully send and received "+data+" from ajax.php");

                        //HERE IS THE SUBMIT YOU NEED ALL. IT WILL 
                        //SUBMIT THE FORM TO THE ORIGINAL ACTION 
                        $("#apply").submit();
            }
          },
          error: function(data){
            alert("You tried to send data to ajax.php but it didn´t give a OK response");
          }

        });
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<tr>
  <td class="detailnoborder">
    <label for="Dicount_code">Enter Code for Discount:</label>&nbsp;&nbsp;</td>
  <td class="detailnoborder1">
 <form id="apply" name="apply" method="post" action="<?php echo $editFormAction; ?>">

    <br>Coupon<input type="text" tabindex="33" id="coupon" name="coupon_id" size="10" />
    <br>
    Cost<input type="text" tabindex="10" id="T_cost" name="T_cost" size="5" value="" />
    <br>Discount<input type="text" tabindex="10" id="Discount" name="Discount" size="5" value=""/>
    <br>DiscountCost<input type="text" tabindex="10" id="D_amount" name="D_amount" size="5" value="" />
    <br><input type="button" id="Check" value="Check" />
</tr>

  

如何运作

     
      
  • jquery click()函数将ajax函数绑定到具有id Check的元素(在本例中为按钮)。如果有多个按钮,则应该进入   一种不同的方式。 检查按钮是否未键入=“提交”,然后它首先是一个虚拟按钮(在执行此点击绑定之前)。

  •   
  • $ .ajax从优惠券,T_cost和折扣输入中选择值,并将它们放入POST请求的数据有效负载中,然后发送IT   用户点击。

  •   
  • Ajax.php将接收数据有效负载,并能够使用其参数进行所需的所有操作。之后,将发送   返回ajax将收到的回应。

  •   
  • $ .ajax会在成功方法中收到Ajax.php发送的响应,然后你就可以用它做什么了。这个   方法将在服务器端的php之后立即执行   执行并且已发送响应。

  •   
  • 毕竟,在success()中,$ .submit()会将名为“apply”的表单发送到原始操作。
  •   

希望这些解释和代码片段中的代码能够澄清你。对不起,我不得不删除PHP代码,使其运行。

无论如何,这里有一些关于javascript和php通信的信息

  

jQuery Ajax POST example with PHP

     

Pass variable from jQuery to PHP