簡體   English   中英

jQuery多次觸發提交表單事件(我認為)

[英]jQuery multiple firing submit form event (I think)

我有這個表格:

<li class="easyad_form_li">Pro tento článek ještě lze zakoupit reklamu - <a class="easyad_showform_link" onclick="$(\'#easyad_gateway_form\').toggle(\'normal\')">zobrazit formulář pro nákup</a>
<form id="easyad_gateway_form" action="' . EASYAD_GATEWAY_LINK . '?a=checkout" METHOD="POST">
   <label for="easyad_gateway_link">Odkaz:</label> <input type="text" name="easyad_gateway_link" value="http://">* <i>(uveďte včetně http://)</i><br />
   <label for="easyad_gateway_link_name">Název: </label> <input type="text" name="easyad_gateway_link_name">* <i>(bude zobrazeno jako klikatelný odkaz)</i><br />
   <label for="easyad_gateway_desc">Popisek:</label> <input type="text" name="easyad_gateway_desc">* <i>(bude zobrazeno za odkazem, neklikatelné)</i><br />
   <span class="easyad_box_req">Pole označená hvězdičkou je nutné vyplnit!</span><br />
   <input type="hidden" name="id_post" id="id_post" value="' . get_the_ID() . '">
   <input type="submit" name="wd_submit" id="wd_submit" class="button action" value="Zaplatit WD">
   <input type="image" name="paypal_submit" id="paypal_submit"  src="https://www.paypal.com/en_US/i/btn/btn_dg_pay_w_paypal.gif" border="0" align="top" alt="Pay with PayPal" />
</form>

如果您首先單擊PayPal按鈕,則表格可以正常工作。 而且,如果您單擊第二個按鈕(提交- #wd_submit ),它也可以正常工作。 但是,如果您單擊“提交”按鈕,然后單擊“貝寶”按鈕,則會顯示2個新窗口(第一個顯示貝寶數據,第二個空白)。

我認為,該問題可能出在我的jQuery代碼中(我對jQuery不熟練)。

這是代碼:

$('#wd_submit').click(function (event){
    $('#easyad_gateway_form').submit(function(event) {
        window.open('', 'formpopup', 'width=292,height=365,scrollbars=no');
        this.target = 'formpopup';              
    });  
});

感謝所有提示,技巧和幫助文章:)

不需要單擊處理程序,因為wd_submit按鈕的類型為wd_submit ,它將觸發表單wd_submit事件,您可以只聽一下

$('#easyad_gateway_form').submit(function (event) {
    window.open('', 'formpopup', 'width=292,height=365,scrollbars=no');
    this.target = 'formpopup';
});

在您的情況下,每當用戶單擊按鈕時,都會注冊一個新的提交處理程序,因此,當用戶第一次單擊時,會有一個處理程序,但是當他再次單擊時,現在會添加2個處理程序,並且都會觸發兩個

在另一個事件處理程序內添加事件處理程序總是很危險的,因此您必須非常小心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM