簡體   English   中英

jQuery-onclick和.click處理程序具有相同ID的元素

[英]JQuery - onclick and .click handlers on element with same ID

我該如何解決? 在確認頁面上的訂單處理結束時,我有一種付款方式(可以是多種形式,按鈕ID相同)。單擊確認訂單按鈕后,我需要使用jquery調用some_script.php並同時重定向到支付網關。 單擊確認按鈕后,僅處理onclick =“ $('#payment')。submit();;頁面被重定向,但未調用some_script.php。感謝您的幫助。

<div class="payment">
  <form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="payment">
    <input type="hidden" name="cmd" value="_cart">
    <input type="hidden" name="upload" value="1">
    ....
  </form>
  <div class="buttons">
    <div class="right">
      <a id="button-confirm" class="button" onclick="$('#payment').submit();">
      <span>Confirm</span></a>
    </div>
  </div>
</div>

<script>
$('#button-confirm').click(function() {
$.get(
   'some_script.php',
   {order_id: '<?php echo $order_id; ?>'},
   'html'
    );
});
</script>

這也許很開心

<script>
    $('#button-confirm').click(function (e) {
        e.preventDefault();

        $.get(
           'some_script.php',
           {order_id: '<?php echo $order_id; ?>'},
           'html'
        );

        $('#payment').submit();
    });
</script>

這是你要找的嗎?


編輯:
用這個替換腳本上的提交部分,我認為這是有效的

var submitForm = $('#payment');
if(submitForm){
    $('#payment').submit();
}

EDIT2:
如果表單標簽有各種ID,則最好使用父類表單選擇器來選擇表單

var submitForm = $('.payment form');
if(submitForm){
    $('.payment form').submit();
}

這是因為您為同一操作編寫了2個不同的事件。 onclick =“ $('#payment')。submit();之所以會被處理,是因為其已編寫為內聯。

為了獲得預期的結果,您必須更改以下代碼。

   <a id="button-confirm" class="button">

 <script>
 $('#button-confirm').click(function() {
 $.get(
'some_script.php',
{order_id: '<?php echo $order_id; ?>'},
'html'
 );
$('#payment').submit();
});
</script>

暫無
暫無

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

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