2012-02-15 11 views
0

して、ページ上のボタンを無効に私は、このボタンを無効にする機能が必要になります。jQueryのクラス名

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

私はonclickの中review.save前にそれを呼び出すことを考えていました。 onclick属性を削除して、それをクリックイベントハンドラにしてそこで行うべきですか?

一部のお客様は、ボタンを2回押して、重複した注文と料金を請求しています。 フォームの送信も無効にする必要がありますか?これを処理するにはどうすればよいでしょうか?これはMagento One Page Checkoutです。

+0

もう一度言いますが、これはこれを処理する最も良い方法ですか? – MB34

答えて

0

を、私はjQueryのを使用することをお勧めします

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

コールバックsaveにボタンを有効にすることができます(それが実際に何をすべきかに依存します)再び。

3

オールドスクールはここでうまくいきます。

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

のonclickを無効にしてください;)

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

1

あなたはdisabled属性を設定することで、ボタンを無効にすることができます。

$(".btn-checkout").attr("disabled", "disabled"); 
1

あなたは実行することで、ボタンを無効にすることができます

$(".btn-checkout").attr('disabled', 'disabled'); 
1

Magentoの場合、jqueryではなくプロトタイプです。したがって:

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

これは、ページ上のすべてのボタンで無効にする必要があります。

関連する問題