jqueryバリデーションを行うフォームに問題があります。無効なボタンは、まだイベントをクリックして聞きます。
(CoffeeScriptの):特定の入力フィールドが記入されていない場合は、disabled属性追加して「前進」ボタンを無効にする必要があります。if errors
$('.btn-move-forward').attr("disabled", true)
動作しますが、私は、そのボタンのクリックイベントを持っています
$('.btn-move-forward').click ->
$('#step2, #step3').toggle()
.btn-move-forward
は、ボタンが無効になっているときにクリックイベントを発生させないと思っていますが、それはあります。
まず、すべてのブラウザ仕様ではこのようなことは起こらないと定義されているため、わかりません。このように、イベントリスナーを
$('.btn-move-forward').click ->
if !$(this).is(:disabled)
$('#step2, #step3').toggle()
またはこの
$('.btn-move-forward').click ->
if $(this).prop("disabled", false)
$('#step2, #step3').toggle()
または組み合わせ::とにかく、私は次のようなものをすることによって、それを回避しようとした
$('.btn-move-forward').on 'click', '.btn-move-forward:enabled', ->
$('#step2, #step3').toggle()
いいえ、このウォンのすべて正しく動作しません。ボタンはまだ移動転送ボタンとして動作します。
私が欲しいのは、無効にされている場合、onclick
を聞いていないボタンです。
は 'button'または'入力タイプは、= "ボタン" '.btn-移動-forward'要素です'?そうでない場合、disabled属性は機能しません。これらのタイプのいずれかである場合は、コードが動作するはずです:https://jsfiddle.net/pcokf7d8/。コンソールにエラーがないかどうかチェックし、 'disabled'プロパティが確実に適用されていることを確認する必要があります。 –
それは@ RoryMcCrossanでした!以前は単純なdivだったので、それをボタン要素にしました。あなたが返信したら私はあなたの答えを受け入れるでしょう。 – DonMB
ありがとう、喜んで助けてください。私はあなたに答えを加えました。 –