2013-07-26 66 views
1

我有一個產品需要貝寶購買的網頁。 我已經使用了一個選擇框來提供該產品的各種選項。如何將item_name的值傳遞給PayPal頁面?

雖然我已經成功整合了paypal,並且html頁面正在向paypal頁面傳遞「金額」。 我無法做的是將與選定選項對應的「item_name」傳遞給paypal頁面。

任何幫助非常感謝,提前致謝。

<form name="" action="shop_paypal.php" method="post"> 
     <input name="cmd" type="hidden" value="_xclick" /> 
     <input name="no_note" type="hidden" value="1" /> 
     <input name="lc" type="hidden" value="UK" /> 
     <input name="currency_code" type="hidden" value="USD" /> 
     <input name="bn" type="hidden" value="PP-BuyNowBF:btn_buynow_LG.gif:NonHostedGuest" /> 
     <div class="price-bottom-box"> 
     <!--<input type="text" name="item_name" id="item_name"value="20,000 PINS" hidden="true"/>--> 
     <select name="amount" id="amount" style="width:256px; height:32px;"> 
      <option value="18" id="1">10,000 PINS - $18 </option> 
      <option value="35" id="2">20,000 PINS - $35</option> 
      <option value="75" id="3">30,000 PINS - $75</option> 
      <option value="140" id="4">50,000 PINS - $140</option> 
      </select> 
    <input type = "image" value = "submtbtn" name = "submtbtn" src="images/buy-now-normal-bg.jpg" id="Image1"> 
</form> 

回答

2

注意:我認爲這將是不道德不能確保你理解的東西第一:它是非常有可能發送「shop_paypal.php」 任何金額值。請不要相信作爲'金額'發送的價值。您應該使用傳遞的值作爲item_name(或更好的item_id)並查找與請求的項目對應的值。

現在該怎麼辦呢看似不安全方式:

替換代碼:

<!--<input type="text" name="item_name" id="item_name"value="20,000 PINS" hidden="true"/>--> 
<select name="amount" id="amount" style="width:256px; height:32px;"> 
    <option value="18" id="1">10,000 PINS - $18 </option> 
    <option value="35" id="2">20,000 PINS - $35</option> 
    <option value="75" id="3">30,000 PINS - $75</option> 
    <option value="140" id="4">50,000 PINS - $140</option> 
    </select> 

與此:

<select id="item_name" name="item_name" style="width:256px; height:32px;"></select> 
<input id="amount" name="amount" type="hidden" value=""/> 
<script> 
    var items = [ 
     { name: "10,000 PINS", amount: 18 }, 
     { name: "20,000 PINS", amount: 35 }, 
     { name: "30,000 PINS", amount: 75 }, 
     { name: "50,000 PINS", amount: 140 } 
    ]; 
    var itemNameElement = document.getElementById("item_name"); 

    itemNameElement.onchange = (function(){ 
     var amount = items[this.selectedIndex].amount; 
     document.getElementById("amount").value = amount; 
    }).bind(itemNameElement); 

    document.getElementById("amount").value = items[0].amount; 
    for(var i=0; i<items.length; i++){ 
     var item = document.createElement("option"); 
     item.value = items[i].name; 
     item.text = items[i].name+" - $"+items[i].amount; 

     itemNameElement.add(item); 
    } 
</script> 
+0

謝謝SOOOOO多FO幫我.. 代碼工作奇蹟:-) 只是還有一件事..請你澄清一下「我認爲它w應該是不道德的,不要確定你首先明白了什麼「。 我會爲此感謝你。 – Jinandra

+0

在我看來,您使用的是您從PayPal購買此表單中獲得的「金額」的值。如果這是客戶使用的表單,則表單上不應包含「金額」。這就像一位客戶告訴你他們想要什麼,以及他們將向您支付多少錢。有人可以發送信息'item_name = 50,000 PINS,金額:1'。只要確保在處理此表單中的信息時,確保'amount'的值是'item_name'的值。 –

+0

感謝您關注@Xion Dark。但我已經完成了你的建議。 再次感謝:-) – Jinandra

相關問題