更新表单提交</script>上的<script>元素

时间:2014-03-12 01:08:48

标签: javascript jquery forms stripe-payments

我使用Stripe进行付款处理,在<script></script>元素中使用内联<form>,如下所示:

<form action="" method="POST" id="payButton" style="display:none;">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="myprivatekeygoeshere"
    data-amount="4900"
    data-name="Sample Name"
    data-description="We use Stripe for 100% secure payment processing."
    data-image="/agm-128-128.png"
    data-email="THIS IS WHAT I'D LIKE TO CHANGE"
  </script>
</form>

此表格是两部分验证的第2步。第一个获取用户的信息,如姓名,电子邮件地址,位置,并将其保存到我的服务器。一旦发生这种情况,就会打开此条带表单。

在脚本中,data-email有一个选项。这会自动填写用户的电子邮件地址,并且我希望根据用户在表单step 1中的输入进行更新。

使用Javascript或jQuery,是否可以实现这一目标?

有些事情:

$('#form1').submit(function(){
  var email = $('#form1 #email').val();
  $('#payButton script').attr('data-email', email);
});

此问题的可能重复,但没有适当的解决方案且已有3年之久:jQuery > Update inline script on form submission

1 个答案:

答案 0 :(得分:1)

答案是,这个问题非常/愚蠢 - 感谢@probackpacker,他让我测试我发布的虚拟代码,作为一些不起作用的例子。它确实起了作用:

$('#form1').submit(function(){
  var email = $('#form1 #email').val();
  $('#payButton script').attr('data-email', email);
});

这正确定位<script>标记,并允许您更改属性。