我使用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
答案 0 :(得分:1)
答案是,这个问题非常/愚蠢 - 感谢@probackpacker,他让我测试我发布的虚拟代码,作为一些不起作用的例子。它确实起了作用:
$('#form1').submit(function(){
var email = $('#form1 #email').val();
$('#payButton script').attr('data-email', email);
});
这正确定位<script>
标记,并允许您更改属性。