javascript - 将 javascript 变量传递给 Paypal

标签 javascript variables paypal parameter-passing

我正在尝试将可变金额(这是总订单值(value))传递给 Paypal 表格中的“金额”变量。但是,该值是从下拉列表中生成的。我搜索了论坛并尝试了一些方法,但找不到我认为是简单的解决方案。

下面是代码。

如您所见,我尝试了几个选项,但都没有传递从下拉列表中选择的变量。

我很欣赏 Paypal 的安全问题……但除此之外,有没有比我脑洞大的人能找到明显的解决方案。

谢谢!!

安迪

PS 如果我将 var 'andy' 更改为 33,一切正常。

<label for="CurrentExcess">Current Excess (£100 - £500 Max.)</label>

<select id="dropdown"> 
  <option value="invalid entry">please select</option>
  <option value="12">£100</option>
  <option value="18">£150</option>
  <option value="24">£200</option>
  <option value="30">£250</option>
  <option value="36">£300</option>
  <option value="42">£350</option>
  <option value="48">£400</option>
  <option value="54">£450</option>
  <option value="60">£500</option>
  <option value="all us to discuss">more then £500</option>
</select> 


        </div>
        <div>
<label for="price">Your membership fee will be: £</label>
<input type="text" name="price" value="" id="mytext" />

<script type="text/javascript">
var mytextbox = document.getElementById('mytext'); 
var mydropdown = document.getElementById('dropdown'); 
mydropdown.onchange = function(){ 
      mytextbox.value = this.value; 
} 
document.getElementById("finalpaypal").value = mytext;
var andy = mytext
</script>


<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="business" value="me@me.com">
<input type="hidden" name="item_name" value="My Title">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="item_number" value="11">
<!-- <script> 
document.write('<input type="hidden" name="amount" value='+andy+'>'); 
</script> -->
<input type="hidden" name="amount" id="finalpaypal">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="add" value="1">

</form>



</body>
</html>

更新:感谢 sdleihssirhc 提供的信息。这确实有帮助,但由于我对 javascript 不太熟悉,所以我仍在苦苦挣扎。

我没有强调的一点是,我正在尝试将“mytext”中的值转换为传递给 paypal 的“amount”。而且我不在乎如何,但似乎因为该值是使用“OnChange”计算的......这一切都有点疯狂。

代码的主要部分现在在帖子的最后一点阅读如下。

任何人都有任何好主意。非常感谢!!!!

<label for="CurrentExcess">Current Excess (£100 - £500 Max.)</label>

<select id="dropdown"> 
  <option value="invalid entry">please select</option>
  <option value="12">£100</option>
  <option value="18">£150</option>
  <option value="24">£200</option>
  <option value="30">£250</option>
  <option value="36">£300</option>
  <option value="42">£350</option>
  <option value="48">£400</option>
  <option value="54">£450</option>
  <option value="60">£500</option>
  <option value="all us to discuss">more then £500</option>
</select> 


        </div>
        <div>
<label for="price">Your membership fee will be: £</label>
<input type="text" name="price" value="" id="mytext" />
<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="business" value="me@me.com">
<input type="hidden" name="item_name" value="My Title">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="item_number" value="11">
<input type="hidden" name="amount" id="finalpaypal">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="add" value="1">

</form>

<script> 
var mytextbox = document.getElementById('mytext');  
var mydropdown = document.getElementById('dropdown');  
var finalpaypal = document.getElementById('finalpaypal'); 
mydropdown.onchange = function(){  
mytextbox.value = this.value; 
finalpaypal.value = this.value; 
}  
document.getElementById("finalpaypal").value = mytext; 
</script>

</body>
</html>

最佳答案

我认为第一个问题是您的 HTML - JavaScript - HTML 排序。你的 JS 中有这一行......

document.getElementById("finalpaypal").value = mytext.value;

...但是 ID 为“finalpaypal”的元素还不存在。你能移动<script>吗?到页面底部,在所有表单的 HTML 之后?

第二个问题也与那条线有关。您试图将输入的值设置为一个变量(据我所知)实际上并不存在。如果您希望该值与您设置文本框的值相同,只需执行以下操作:

document.getElementById("finalpaypal").value = mytextbox.value;

但是接下来我们遇到了最后一个问题:您应该将此行放在事件处理程序中。

所以最终的代码看起来是这样的:

<!-- all of the form's HTML -->

<script>
var mytextbox = document.getElementById('mytext'); 
var mydropdown = document.getElementById('dropdown'); 
var finalpaypal = document.getElementById('finalpaypal');
mydropdown.onchange = function(){ 
    mytextbox.value = this.value;
    finalpaypal.value = this.value;
} 
document.getElementById("finalpaypal").value = mytext;
</script>

关于javascript - 将 javascript 变量传递给 Paypal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7774977/

相关文章:

javascript - 将javascript变量从一个函数/文件传递到另一个函数/文件

javascript - 如何制作识别相似元素字符串的 JavaScript 代码?

php - 在自定义托管结帐页面上保护/验证 Paypal Payments Pro 数据并将自定义数据提交给 PayPal

ios - 设备上禁用的 Paypal MPL 登录按钮

javascript - 从同一个类中的另一个方法调用 javascript 类方法

javascript - 从 &lt;input&gt; 获取 id= 和 value= 的动态值,并将它们设为变量以在 javascript 中使用它们

javascript - 两次循环后停止 W3 Css-Javascript slider

javascript - 发布的变量在 Razorpay 支付脚本上的行为有所不同

javascript - cors 污染图像上的映射颜色变换

paypal - Payflow Pro 定期计费是否支持 IPN?