2013-05-22 104 views
0

我有一個PP BUY-IT-NOW按鈕,我使用的以執行2次的提交哪個。表單僅在第二次點擊時提交。 (僅部分地在第一)

1)貝寶沙箱 - 購買(使用自定義= 「randnum」 VAR)

2)提交的用戶信息到我的數據庫,同randnum

後來,他們將傳達沿着我的PHP文件,驗證等。

我用$。員額(即我學到了這裏)提交第二次提交操作。

它只能如果我點擊現在買它的第二次

第一次點擊,它進入貝寶沒問題,但是,不運行PHP文件,該文件上有我的數據庫輸入。

,但是,如果我回去了,打現在又買它,它的工作原理..和之後在那裏工作。

如果我刷新,我需要點擊一次,沒有工作,回去,然後沒有問題。

幫助!!!!我花了

<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的..(我學到了在Hardway,如果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> 

我已經把一個ALERT下的$ .POST和它的第一次點擊彈出..但是,它仍然無法運行PHP文件,直到我點擊它第二次

+0

您第一次發送,你想發送「自定義」隨機變量到您的PHP腳本? 只有在將請求發送到php後,您才需要設置randnum值。 – Hariprasad

+0

是的,我希望每次點擊提交按鈕時發送rand。但是,它似乎工作正常。 PHP文件只是在第一次點擊時不發送。 –

+0

那麼,我已經嘗試了完整版本,而不是速記Jquery將解決這個問題..不知道爲什麼。 $阿賈克斯({ 類型: 'POST', 異步:假, 網址: 「corp_paypal_db_prep.php」, 數據:$( 「#corp_pp_buy」)序列化(), 成功:功能(數據,狀態, xhr){ alert('ok'); }, error:function(xhr,status,err){ alert(status +「:」+ err); } –

回答

0

的jQuery NON速記verstion呼叫作品..

$.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); 
    } 
相關問題