【问题标题】:Changing hidden Paypal value in dropdown在下拉菜单中更改隐藏的 Paypal 值
【发布时间】:2020-08-07 19:03:57
【问题描述】:

我有 2 个下拉菜单

这是使用 Paypal 购买短袖或长袖衬衫的表格的一部分。

短袖是一个价格。长袖是另一个价格。这很好用。使用隐藏值,我可以更改 2XL 和 3XL 短袖衬衫的价格。效果很好。

javascript 用于更改 2XL 和 3XL 长袖衬衫的价格。 这也很好用。我遇到的问题是使 option_select 值更改为“LS 2XL”或“LS 3xL”而不是“SS 2XL”或“SS 3XL”(以及其他长袖尺寸)。

我不精通 javascript,但我通常可以拼凑出足够多的东西来完成工作。这个让我难住了。任何使用 javascript 的帮助将不胜感激。

function changeHiddenInput(objDropDown) {
  var upcharge2XL = document.getElementById("hiddenvalue2XL");
  var upcharge3XL = document.getElementById("hiddenvalue3XL");
  upcharge2XL.value = 20.00;
  upcharge3XL.value = 21.00;
}
<select name="amount" size="1" id="Combobox1"  onchange="changeHiddenInput(this)">
  <option value="15.00">Short Sleeve</option>
  <option value="18.00">Long Sleeve</option>
</select><br/>
<select name="os0" size="1" id="Combobox2">
  <option selected>Select Size</option>
  <option value="SS Small">Small</option>
  <option value="SS Medium">Medium</option>
  <option value="SS Large">Large</option>
  <option value="SS XL">XL</option>
  <option value="SS 2XL">2XL + $2</option>
  <option value="SS 3XL">3XL + $3</option>
  <option value="--------">--------</option>
  <option value="SS Youth Small">Youth Small</option>
  <option value="SS Youth Medium">Youth Medium</option>
  <option value="SS Youth Large">Youth Large</option>
</select><br/>
Hidden Paypal Values

<input type="hidden" name="option_select0" value="SS 2XL" id="hiddensize2XL">
<input type="hidden" name="option_amount0" value="17.00" id="hiddenvalue2XL">
<input type="hidden" name="option_select1" value="SS 3XL" id="hiddensize3XL">
<input type="hidden" name="option_amount1" value="18.00" id="hiddenvalue3XL">

【问题讨论】:

  • 是否可以进行两种不同的选择,一种用于[短袖]/[长袖],另一种用于不同尺寸?然后您可以拼凑组合并根据需要计算价格。
  • 是的,我考虑了 2 种选择(每种袖子类型选择一种),但想让客户更轻松。目前,我正在使用包含短袖尺寸和长袖尺寸的 LONG 下拉菜单,但客户必须确保在第一个下拉菜单中选择(例如:长袖)时,他们也选择了长袖尺码而不是短袖尺码,否则 Paypal 购物车中的订单将显示错误。
  • 我明白了——我的意思是他们选择短袖/长袖的一种,然后是他们选择尺寸的另一种(假设两者都有所有尺寸)。那么你就有了两者的信息,就可以据此计算并显示一个值了!
  • 这里是使用它的页面的链接。也许会更清楚。link

标签: javascript html paypal


【解决方案1】:

我想你是这个意思?

document.getElementById("pp1").addEventListener("submit",function(e) {
  e.preventDefault(); // remove this line when finished testing
  const sleeve = document.getElementById("Combobox1").value;
  const size = document.getElementById("Combobox2").value;
  if (sleeve === "" || size === "") {
    alert("Please choose sleeves and size")
    e.preventDefault(); // stop submission
  }
  let amt = sleeve === "SS" ? 15 : 17;
  if (size === "2XL") amt += 2;
  else if (size === "3XL") amt += 3;
  document.getElementById("hiddensize2XL").value=size
  document.getElementById("hiddensize3XL").value=size
  document.getElementById("hiddenvalue2XL").value = amt.toFixed(2)
  document.getElementById("hiddenvalue3XL").value = amt.toFixed(2);
})
<select name="amount" size="1" id="Combobox1">
  <option value="" selected>Sleeves</option>
  <option value="SS">Short Sleeve</option>
  <option value="LS">Long Sleeve</option>
</select><br/>
<select name="os0" size="1" id="Combobox2">
  <option value="" selected>Select Size</option>
  <option value="Small">Small</option>
  <option value="Medium">Medium</option>
  <option value="Large">Large</option>
  <option value="XL">XL</option>
  <option value="2XL">2XL + $2</option>
  <option value="3XL">3XL + $3</option>
  <option value="--------">--------</option>
  <option value="Youth Small">Youth Small</option>
  <option value="Youth Medium">Youth Medium</option>
  <option value="Youth Large">Youth Large</option>
</select><br/>
Hidden Paypal Values

<form id="pp1">
<input type="text" name="option_select0" value="" id="hiddensize2XL">
<input type="text" name="option_amount0" value="17.00" id="hiddenvalue2XL">
<input type="teyxt" name="option_select1" value="" id="hiddensize3XL">
<input type="teyt" name="option_amount1" value="18.00" id="hiddenvalue3XL">
<input type="submit" />
</form>

【讨论】:

  • 感谢您的帮助。我目前无法让它解决我的问题,但可能是我做错了什么。我会继续玩弄你的答案,也许我可以让它发挥作用。
  • 我使用的 javascript 也改变了我需要的价格,但我遇到的问题是我还需要更改显示在 Paypal 购物车中的措辞。现在,无论我选择短袖衬衫还是长袖衬衫,它仍然显示SS(短袖)。请查看link 并将长袖 2XL 添加到您的购物车并查看价格变化,但袖长说明仍为 SS 2XL。
  • 你能做一个测试页面并添加我的脚本吗?
  • 请再次点击链接。我添加了您的脚本,但保留了我的表单。我知道这行不通,但也许它有助于让事情更容易看出哪里出了问题。谢谢。
  • 使隐藏字段在另一个页面的测试表单中可见并尝试调试。我只是根据您发布的内容进行猜测,但没有时间自定义解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 2014-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多