Кнопка отключения jQuery на странице по имени класса - PullRequest
0 голосов
/ 15 февраля 2012

Мне нужна функция для отключения этой кнопки:

<button type="submit" 
        title="Place Order" 
        class="button btn-checkout" 
        onclick="review.save();"><span><span>Place Order</span></span>
</button>

Я думал о том, чтобы позвонить до обзора. Сохраните в onclick. Должен ли я удалить атрибут onclick и сделать его обработчиком события click и сделать это там?

Некоторые клиенты дважды нажимают кнопку и получают дубликаты заказов и сборов. Должен ли я также отключить отправку формы? Как лучше всего справиться с этим? Это Magento One Page Checkout.

Ответы [ 6 ]

3 голосов
/ 15 февраля 2012

Старая школа прекрасно работает здесь.

<button type="submit" 
        title="Place Order" 
        class="button btn-checkout" 
        onclick="review.save();this.disabled = 'disabled';"><span><span>Place Order</span></span>
</button>
1 голос
/ 15 февраля 2012

Если это Magento, то это прототип, а не jquery.Поэтому:

$$('.button').each(function(elmt) {
elmt.observe('click', function(ev) {
        ev.target.disabled='disabled';
});
});

Это должно привести к отключению одним щелчком мыши всех кнопок на странице.

1 голос
/ 15 февраля 2012

Вы можете отключить кнопку, запустив:

$(".btn-checkout").attr('disabled', 'disabled');
1 голос
/ 15 февраля 2012

Вы можете отключить кнопку, установив атрибут отключен.

$(".btn-checkout").attr("disabled", "disabled");
1 голос
/ 15 февраля 2012

Отключить онклик;)

$('.btn-checkout').attr('onclick','return false');

0 голосов
/ 15 февраля 2012

Я рекомендую использовать jQuery:

$(document).ready(function() {
    $('button.btn-checkout').click(function(e) {
        $(this).attr('disabled', 'disabled');
        review.save();
    });
});

при save обратном вызове (в зависимости от того, что он на самом деле делает), вы можете снова включить кнопку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...