2013-05-08 2 views
0

Есть ли какое-либо решение, чтобы предотвратить двойной щелчок на кнопке проверки, так что он не будет проверять дважды в одно и то же время? Из-за этого у меня много дублированных заказов.Отключить событие двойного щелчка на кнопке проверки VirtueMart2

Filepath в рабочий файл является: /templates/rolucia/html/com_virtuemart/cart/default.php

Может кто-нибудь сказать мне, что случилось в мой код пожалуйста:

<script type="text/javascript"> 
    jQuery(document).ready(function($) { 
     $('#btnCheckoutSubmit').click(function(e){ 
      e.preventDefault(); 
      javascript:document.checkoutForm.submit(); 
      $(this).button('loading'); 
     }); 
    }); 
</script> 
<a id="btnCheckoutSubmit" class="btn btn-large btn-block btn-warning" data-loading-text="..." href="javascript:document.checkoutForm.submit();"> 
    <i class="icon-chevron-right"></i> 
    <?php if($this->checkout_task === 'confirm'):?> 
     <?php echo JText::_('COM_VIRTUEMART_CHECKOUT_CONFIRM');?> 
    <?php else:?> 
     <?php echo JText::_('COM_VIRTUEMART_CHECKOUT_TITLE');?> 
    <?php endif;?> 
</a> 

Есть предложения?

ответ

0

Таким образом, после многих испытаний, я обнаружил, что только один подход, который работает на самом деле использует .bind() или .one() функции. Я использовал bind().

jQuery(document).ready(function($) { 
    $('a#btnCheckoutSubmit').bind('click', function(e){ 
     $('#checkoutForm').submit(); 
     $(this).unbind(e); 
    }); 
}); 

Итак, после нажатия кнопки отправки после отправки формы она должна отменить событие.

1

Попробуйте отключить кнопку после того, как первый щелчок с помощью prop():

jQuery(document).ready(function($) { 
    $('#btnCheckoutSubmit').click(function(e){ 
     e.preventDefault(); 
     javascript:document.checkoutForm.submit(); 
     $(this).button('loading'); 

     $(this).prop('disabled', true); 
    }); 
}); 
+0

не знал о '.prop()'. он продолжает отправлять столько же, сколько пользователь нажимает на эту кнопку, даже без атрибута 'href' в теге' ' – aspirinemaga

Смежные вопросы