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 關注
- 132 瀏覽
添加回答
舉報