gpt4 book ai didi

javascript - 如何从单独的表单中预填充数据电子邮件

转载 作者:行者123 更新时间:2023-11-27 23:05:28 24 4
gpt4 key购买 nike

我正在使用 Formspree和条纹结帐。我想要在 Formspree 表单的 <input type="email" name="Customer Email" placeholder="your email here"> 中输入任何内容发送至data-email="example@mail.com" .这可能吗?我的代码如下所示:

<!-- Begin Stripe Form -->
<form method="POST">
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh" data-image="" data-amount="8500" data-name="some co." data-description="Custom Blanket" data-locale="auto"
data-zip-code="true" data-billing-address="true" data-shipping-address="true" data-email="example@mail.com">
</script>
<script>
document.getElementsByClassName("stripe-button-el")[0].style.display = 'none';
</script>
<button type="submit">Done</button>
</form>
<!-- End Stripe Form -->

<!-- Begin Formspree Form -->
<form action="https://formspree.io/xrqjnzam" method="POST">
<input type="text" name="_gotcha" style="display: none">
<input type="hidden" name="_next" value="https://example.com/blanket/thankyou.html" />
<input type="hidden" name="_subject" value="New Order!" />
<input type="hidden" name="_cc" value="x@somedomain.com" />
<!-- <input type="hidden" name="_format" value="plain" /> -->
<input type="email" name="Customer Email" placeholder="your email here">
<button hidden type="submit">Send</button>
</form>
<!-- End Formspree Form -->

最佳答案

将键入的电子邮件发送到 script elements 属性,你必须添加一个事件监听器。

$(function(){
var $email_field=$('[name="Customer Email"]');
$email_field.on('change', function(){
$('#script').attr('data-email', $email_field.val());
});
});

如果不是,那是因为脚本已经加载并使用默认电子邮件值初始化 mail@example.com .在这种情况下,您需要在用户键入电子邮件地址并将其插入 DOM 后使用 JavaScript 创建脚本。

$(function() {
var $stripe_form = $('#stripe_form');
var $email_field = $('[name="Customer Email"]');
$email_field.on('change', function() {
$('<script>').attr({
"src" : "https://checkout.stripe.com/checkout.js",
"class" : "stripe-button",
"data-key" : "pk_test_6pRNASCoBOKtIshFeQd4XMUh",
"data-image" : "",
"data-amount" : "8500",
"data-name" : "Company",
"data-description" : "Product",
"data-locale" : "auto",
"data-zip-code" : "true",
"data-billing-address" : "true",
"data-shipping-address" : "true",
"data-email" : $email_field.val(),
}).prependTo($stripe_form);
});
});

但显然这会添加一个新的 <script>每次用户更改电子邮件。因此,当用户输入电子邮件并通过单击按钮确认时隐藏表单的电子邮件部分会更好。

$(function() {
var $stripe_form = $('#stripe_form');
var $email_section = $('#email_section');
var $email_field = $('[name="Customer Email"]');
var $email_confirm_button = $('#email_confirm_button');
$email_confirm_button.on('click', function() {
$email_section.slideUp();
$stripe_form.show();
$('<script>').attr({
"src": "https://checkout.stripe.com/checkout.js",
"class": "stripe-button",
"data-key": "pk_test_6pRNASCoBOKtIshFeQd4XMUh",
"data-image": "",
"data-amount": "8500",
"data-name": "Company",
"data-description": "Product",
"data-locale": "auto",
"data-zip-code": "true",
"data-billing-address": "true",
"data-shipping-address": "true",
"data-email": $email_field.val(),
})
.prependTo($stripe_form);
});
});
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>

<form action="https://formspree.io/xrqjnzbm" method="POST">
<input type="text" name="_gotcha" style="display: none">
<input type="hidden" name="_next" value="https://example.com/thankyou.html" />
<input type="hidden" name="_subject" value="New Order" />
<input type="hidden" name="_cc" value="x@example.com" />
<div id="email_section">
<input type="email" name="Customer Email" placeholder="your email here">
<button id="email_confirm_button" type="button">Continue to Payment</button>
</div>
<button type="submit" hidden>Send</button>
</form>

<form id="stripe_form" method="POST" style="display:none">
<button type="submit">Continue to Next Step</button>
</form>

关于javascript - 如何从单独的表单中预填充数据电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49725370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com