使用 JavaScript 提交表单时,如何从用户那里获取数量变量?

Posted

技术标签:

【中文标题】使用 JavaScript 提交表单时,如何从用户那里获取数量变量?【英文标题】:How can I get quantity variable from user when subnmitting a form using JavaScript? 【发布时间】:2021-03-02 10:50:23 【问题描述】:

这是一个 PayPal 订阅计划,与以前的 html 表单订阅计划不同,这些只是 javascript

该计划根据订购的数量设置了不同的定价,但 PayPal 没有给您任何让用户提交数量的方法,只是默认数量为 1。我可以在脚本中手动设置数量(如下所示,数量为 4)效果很好,但如果我需要为每个数量使用不同的按钮,那么使用这种按钮是没有意义的。

这是删除了标识符的 PayPal 代码;

<div id="paypal-button-container"></div>
<script src="https://www.paypal.com/sdk/js?client-id=ABCD-ABC_1234ABCD&vault=true&intent=subscription" data-sdk-integration-source="button-factory"></script>
<script>
  paypal.Buttons(
      style: 
          shape: 'rect',
          color: 'gold',
          layout: 'vertical',
          label: 'subscribe'
      ,
      createSubscription: function(data, actions) 
        return actions.subscription.create(
          'plan_id': 'P-123456789'
          'quantity': '4'
        );
      ,
      onApprove: function(data, actions) 
        alert(data.subscriptionID);
      
  ).render('#paypal-button-container');
</script>

所以我需要一种方法,让用户在点击订阅按钮之前动态更新实际数量。我认为这可以通过 JS 实现,但我不知道如何。相同的问题已在 PayPal 社区网站上被问过两次,但尚未发布任何答案。

【问题讨论】:

【参考方案1】:

创建一个 HTML 输入或选择允许选择数量的下拉菜单。简单例子:

<span>Qty: </span><input id="myQuantity" type="text" />

....

      createSubscription: function(data, actions) 
        return actions.subscription.create(
          'plan_id': 'P-123456789'
          'quantity': document.getElementById('myQuantity').value
        );
      ,

【讨论】:

以上是关于使用 JavaScript 提交表单时,如何从用户那里获取数量变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过Javascript提交带有自定义变量的表单?

在javascript-ajax中提交表单时如何显示进度条

php防止用户重复提交表单

如何创建表,在用户提交表单时填写行

如何在 Javascript 中触发表单提交?

是啥导致用户在提交表单时转到新页面,可以在 JavaScript 中完成吗?