【问题标题】:Is there a way to determine checked radio button before form submission?有没有办法在提交表单之前确定选中的单选按钮?
【发布时间】:2017-10-02 03:07:34
【问题描述】:

我正在创建一个动态的 Stripe 结帐表单。我希望表单根据单选按钮选择进行更改。这是我到目前为止的代码。我删除了一些对这个问题来说不必要的条带代码,但它就在那里并且对我有用。

<script src="https://checkout.stripe.com/checkout.js"></script>
            <form id="payment-form" method="post" action="procedures/charge.php" >
                <input id="monthly" type="radio" name="plan-id" value="monthly1" > $10/month<br>
                <input id="annual" type="radio" name="plan-id" value="annual1" > $89/year<br>
                <button type="submit" id="customButton">Sign Up</button>
            </form>
            <script>              

            document.getElementById('customButton').addEventListener('click', function(e) {

             //This is where I'm having my problem

              var plan = document.querySelector('input[name = "plan-id"]:checked').value;
            if(plan = 'monthly1') {
              var description = 'Monthly Subscription';
              var amount = 1000;
            }else if(plan = 'annual1') {
              var description = 'Annual Subscription';
              var amount = 8900;
            }  
              // Open Checkout with further options:
              handler.open({
                name: 'Your Strength Coach',
                description: description,
                amount: amount,
                email: '<?php echo $user['email'] ?>',
              });
              e.preventDefault();
            });
            </script>

当我尝试测试检查哪个收音机以在 handler.open 部分中分配变量时,我的问题出现了。我已经在任一输入中添加了“选中”,代码使用该默认值。但如果我选择“选中”项目以外的其他内容,它不会注册更改。

例如,如果monthly1 收音机有checked 属性,我无法让代码注意到我选择了year1 选项并使用if 语句的那部分。

有没有办法确定在操作的这个阶段选择了哪个按钮?

【问题讨论】:

  • if(plan = 'monthly1') 应该有===== 比较运算符,您正在使用赋值运算符...
  • 谢谢。那行得通。我是个白痴……

标签: javascript forms stripe-payments


【解决方案1】:

我不明白。选中的属性表示你已经选择了那个项目,如果你在选择了某个项目后选择了其他东西,选中的属性也会相应地改变。

它不起作用的原因是因为 Rayon 在评论中所说的,您使用的是赋值运算符而不是等于运算符。 (= v/s == 或 ===)

【讨论】:

  • 你是对的。 Rayon 的评论是解决方案。感谢您的帮助,请原谅我的无知/粗心。
猜你喜欢
  • 2020-05-27
  • 1970-01-01
  • 1970-01-01
  • 2020-06-14
  • 1970-01-01
  • 1970-01-01
  • 2012-02-16
  • 2021-06-12
  • 1970-01-01
相关资源
最近更新 更多