1
我正在一個電子商務網站(shopp),那裏有基於訂閱的產品。購買產品時有用戶姓名和電子郵件的輸入。用jQuery提交WordPress的多個表單註冊
客戶希望購買該產品的用戶在WordPress中註冊爲訂閱者。所以我想要做的是從中獲取電子郵件的價值,並使用他們的電子郵件作爲用戶名和電子郵件在WordPress註冊。我能夠讓註冊部分工作,但不知道如何讓這兩個表單正確提交。現在只需提交登記表,忽略添加到購物車的產品表格。
購物車形式:
<form action="<?php shopp('cart','url'); ?>" method="post" class="shopp product validate validation-alerts">
<!-- extra code -->
<?php
if (shopp('product', 'in-category', 'id=32')) : // courses ?>
<div id="guests" class="guests">
<div>Enter the names and emails of the people subscribing</div>
<div class="guest-list">
<p class="guest">
<label>First Name </label><?php shopp('product','input',"name=First Name 1"); ?><br />
<label>Last Name </label><?php shopp('product','input',"name=Last Name 1"); ?><br />
<label>Email </label><?php shopp('product','input',"name=Email 1"); ?>
</p>
</div>
<?php shopp('product', 'addtocart'); ?>
</div>
<?php
else :
shopp('product', 'addtocart');
endif;
?>
<?php wp_nonce_field('check-user', '_check-user-nonce', true, true); ?>
</form>
登記表:
<form id="register-form" action="<?php echo site_url('wp-login.php?action=register', 'login_post') ?>" method="post">
<input type="hidden" name="user_login" value="Username" id="user_login" class="input" />
<input type="hidden" name="user_email" value="E-Mail" id="user_email" class="input" />
<?php do_action('register_form'); ?>
<input type="hidden" value="Register" id="register" />
</form>
的jQuery:
(function ($) {
$('#guests').on('click', '.addtocart', function() {
var id = $('.product-qty-wrapper').attr('id'),
userEmail = $('#data-email-1-'+ id).val();
// take users email and use for register form
$('#register-form input[name="user_login"]').val(userEmail);
$('#register-form input[name="user_email"]').val(userEmail);
$('#register-form').submit();
});
}(jQuery));
更新
發現這個職位WHI CH工作對我來說submitting multiple forms with AJAX
$('form').each(function() {
var $this = $(this);
$.post($this.attr('action'), $this.serialize());
});
您將需要AJAX做一個POST請求,而無需刷新頁面,所以通過AJAX發送註冊表單併成功提交購物車表格 –
謝謝,幫助我走向正確的方向 – ferne97
您不一定需要AJAX,您也可以使用'target'屬性將表單提交到iFrames。但是,如果/因爲你沒有任何文件上傳,AJAX是更好的方法。 – Nic