2013-07-26 3 views
1

У меня есть веб-страница с продуктами, для которых требуется покупка PayPal. Я использовал selectbox для различных опций, доступных для этого продукта.Как передать значение 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» ANY СУММА значение. ПОЖАЛУЙСТА, НЕ ДОЛЖНЫ доверять значению, отправленному как «сумма». Вы должны использовать значение, переданное как 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

поблагодарить вас оооочень много Ф.О. помогает мне .. Код работал чудесами :-) Просто еще одна вещь. Можете ли вы прояснить «Я думаю, это w ould быть неэтичным, не убедитесь, что вы сначала что-то поняли ». Буду благодарен вам за это. – Jinandra

+0

Мне кажется, вы используете стоимость «суммы», которую вы получаете из этой формы для покупки в PayPal. Если это форма, которую используют клиенты, вы не должны иметь «сумму» в форме. Это похоже на то, что клиент говорит вам, чего они хотят, и сколько они собираются заплатить вам. Кто-то может отправить информацию «item_name = 50 000 PINS, сумма: 1». Просто убедитесь, что, когда вы обрабатываете информацию из этой формы, вы убедитесь, что значение «количество» - это то, что должно быть для «item_name». –

+0

Я ценю вашу заботу @Xion Dark. Но я сделал то, что вы предложили. еще раз спасибо :-) – Jinandra