表单仅在第二次单击时提交。 (仅部分首先)

时间:2013-05-22 06:03:49

标签: jquery forms form-submit

我有一个PP BUY-IT-NOW按钮,我用它来执行2次提交。

1)PayPal沙箱 - 购买(使用custom =“randnum”var)

2)我的PHP文件将用户信息提交到我的数据库,以及相同的randnum

稍后他们会进行沟通,验证等。

我使用$ .post(我在这里学到的)提交第二个提交行动。

仅当我第二次点击购买时才有效

第一次点击,它转到Paypal没问题,但是,不运行PHP文件,它上面有我的数据库输入。

但是,如果我回去,再次点击购买它,它可以工作..并在那之后工作。

如果我刷新,我需要点击一次,没有工作,回去,然后没问题。

HELP !!!!我花了

<div id="paypal_corp">    <!--  BUY IT NOW - AND - send to DB   (corp_paypal_db_prep.php)   -->
    <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" name="corp_pp_buy" id="corp_pp_buy">        
        <input type="hidden" name="emp_email" id="corp_p_emp_email" />        
        <input type="hidden" name="empr_name" id="corp_p_empr_add_name" />
        <input type="hidden" name="empr_street" id="corp_p_empr_add_street"  />
        <input type="hidden" name="empr_city" id="corp_p_empr_add_city" />
        <input type="hidden" name="empr_state" id="corp_p_empr_add_state" />
        <input type="hidden" name="empr_zip" id="corp_p_empr_add_zip"/>

        <input type="hidden" name="corp_pdf_emp_rout_num" id="corp_p_rout_num" />
        <input type="hidden" name="corp_pdf_emp_acc_num" id="corp_p_acc_num" />
        <input type="hidden" name="corp_pdf_emp_id" id="corp_p_emp_id3"/>
        <input type="hidden" name="corp_pdf_emp_f_name" id="corp_p_emp_f_name" />
        <input type="hidden" name="corp_pdf_emp_l_name" id="corp_p_emp_l_name" />
        <input type="hidden" name="corp_pdf_emp_street" id="corp_p_emp_street" />
        <input type="hidden" name="corp_pdf_emp_city" id="corp_p_emp_city" />
        <input type="hidden" name="corp_pdf_emp_state" id="corp_p_emp_state" />
        <input type="hidden" name="corp_pdf_emp_zip" id="corp_p_emp_zip" />                  
        <input type="hidden" name="corp_pdf_emp_ssn" id="corp_p_emp_ssn" />             

        <input type="hidden" name="corp_pdf_start_date" id="corp_p_start_date" />
        <input type="hidden" name="corp_pdf_end_date" id="corp_p_end_date" />
        <input type="hidden" name="corp_pdf_pay_date" id="corp_p_pay_date" />

        <input type="hidden" name="corp_pdf_gross_hrs" id="corp_p_gross_hrs" />
        <input type="hidden" name="corp_pdf_gross_rate" id="corp_p_gross_rate" />
        <input type="hidden" name="corp_pdf_ot_hrs" id="corp_p_ot_hrs" />

        <input type="hidden" name="corp_pdf_gross_ytd" id="corp_p_gross_prd" />
        <input type="hidden" name="corp_pdf_gross_ytd" id="corp_p_gross_ytd" />

        <input type="hidden" name="corp_pdf_taxable_gross_prd" id="corp_p_taxable_gross_prd" />
        <input type="hidden" name="corp_pdf_taxable_gross_ytd" id="corp_p_taxable_gross_ytd" />

        <input type="hidden" name="corp_pdf_fed_amt_deduct_period" id="corp_p_fed_amt_deduct_period" />                    
        <input type="hidden" name="corp_pdf_fed_amt_deduct_ytd" id="corp_p_fed_amt_deduct_ytd" />

        <input type="hidden" name="corp_pdf_medicare_period" id="corp_p_medicare_period" />
        <input type="hidden" name="corp_pdf_medicare_ytd" id="corp_p_medicare_ytd" />

        <input type="hidden" name="corp_pdf_state_amtincomtax" id="corp_p_state_amtincomtax" />
        <input type="hidden" name="corp_pdf_state_amtincomtaxytd" id="corp_p_state_amtincomtaxytd" />

        <input type="hidden" name="corp_pdf_fica_social_period" id="corp_p_fica_social_period" />
        <input type="hidden" name="corp_pdf_fica_social_ytd" id="corp_p_fica_social_ytd" />

        <input type="hidden" name="corp_pdf_net_pay_period" id="corp_p_net_pay_period" />
        <input type="hidden" name="corp_pdf_net_pay_period_deposit" id="corp_p_net_pay_period_deposit" />
        <input type="hidden" name="corp_pdf_net_pay_ytd" id="corp_p_net_pay_ytd" />

        <input type="hidden" name="corp_pdf_state_abb" id="corp_p_state_abb" />                                                                         

        <input type="hidden" name="corp_pdf_val_401k_prd" id="corp_p_val_401k_prd" />
        <input type="hidden" name="corp_pdf_val_401k_ytd" id="corp_p_val_401k_ytd" />

        <input type="hidden" name="corp_pdf_commission" id="corp_p_commission" />
        <input type="hidden" name="corp_pdf_commission_ytd" id="corp_p_commission_ytd" />

      <input type="hidden" name="cmd" value="_s-xclick"> 
      <input type="hidden" name="hosted_button_id" value="PJTU3F2LGZNXU">
      <input type="hidden" name="return" value="http://www.paycheckstubonline.com/testing-2" />            <!-- need to create a SUCCESS PAGE(dl/email/return)  -->
      <input type="hidden" name="notify_url" value="http://www.paycheckstubonline.com/listener.php" />     <!-- IPN - find and update record to pay-->
      <input type="hidden" id="custom" name="custom" />
      <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" id="submit_db_btn" border="0" name="submit_db_btn" alt="PayPal - The safer, easier way to pay online!">
      <img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
  </form>

就在它下面,在同一页面中,我有Javascript ..(我学到了硬道理,如果Javascript高于它,它就不起作用..)

     <script type="text/javascript">
     var randomnumber = 0;
      $("#submit_db_btn").on("click",function() {
               $.post("corp_paypal_db_prep.php", $("#corp_pp_buy").serialize());  
              set_custom_var();
      });

      function set_custom_var() {
        randomnumber=Math.floor(Math.random()*1000000000);                                        
        document.getElementById("custom").value = randomnumber;
      }
      </script>

我在$ .POST下面放了一个ALERT,它在第一次点击时弹出...但是,它仍然没有运行PHP文件,直到我第二次点击它

1 个答案:

答案 0 :(得分:0)

JONery呼叫的NON速记版本工作..

 $.ajax({
  type: 'POST',
  async: false,
  url: "corp_paypal_db_prep.php",
  data: $("#corp_pp_buy").serialize(),
  success: function(data, status, xhr){
    alert('ok');
  },
  error: function(xhr, status, err) {
    alert(status + ": " + err);
  }