1 回答
TA贡献1796条经验 获得超4个赞
不知道你在register_signup()做什么。我认为这是某种钩子。
那么你可以做什么,点击事件 - 防止表单提交。通过$ajax请求发送表单数据,然后调用您的 hook register_signup(),然后从页面中删除表单以防止进一步重复提交。
<form action="/event" method="POST" id="signupForm">
<input type="hidden" name="event" value="mc_newsletter_add">
<input type="hidden" name="data[source]" value="newsletter">
<input checked=checked type="checkbox" name="data[newsletter_onetime]" id="newsletter_onetime" class="newsletter-optins">
<input checked=checked type="checkbox" name="data[promos]" id="promos" class="newsletter-optins">
<input class="modal-newsletter-input" id="EmailAddress" name="data[customers_email_address]" placeholder="Enter your email here" required="required" type="email" value="<?php if(isset($_GET['email'])){echo $_GET['email'];}?>" aria-required="true">
<input class="modal-newsletter-signup" id="newslettersignup" name="Submit" type="submit" value="Yes, sign me up" />
</form>
<script>
$("#signupForm").submit(function(e) {
e.preventDefault();
var form = $(this);
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(),
success: function(data)
{
console.log(data); //data contain response from your php script
register_signup();
form.replaceWith("<div>You signed in</div>"); //This is optional - remove your form from page
}
});
});
</script>
请注意 - 我添加id到<form>标签,并删除onClick处理程序和提交按钮。
希望你在寻找什么。
- 1 回答
- 0 关注
- 169 浏览
添加回答
举报
