JAVASCRIPTについてお教えください。
① http://espion.just-size.jp/archives/07/035231221.html
↑こちらで紹介されている、フォームのバリデーションのJAVASCRIPTを使用しているのですが、
同時に、
② http://shoyu-ramen23.jugem.jp/?eid=211
↑こちらで紹介されているような、送信ボタンの2度押しを防止するためのJAVASCRIPTも使用したいのです。
しかし、どのように二つを組み合わせればよいのかがよくわかりません。
①でバリデーションを行うとき、全てフォーム内容のチェックが通り、無事サブミットが行われるときのみ②が適用されて、送信ボタンが無効状態にしたいと思っています。
つまり、まだフォーム内容に未記入などがある場合は、ボタンは無効にならないようにしたいわけです。
大変恐縮ですが、どうぞご教授ください。
(1)のvalidator.jsファイルの47行目に下記の様な具合に書き加えます
submit: function(form) { this.allclose(form); var btns = new Array; for(var i = 0, f; f = form[i]; i++) { if(f.onblur) f.onblur(); if(f.type == 'submit') btns.push(f); } for(var i = 0, f, z; f = form[i]; i++) { if(f._validbaloon && f._validbaloon.visible()) { while(z = btns.shift()) this.baloon.open(z, this.rule.submit()); return false; } } // 追加するのは下の4行 for(var i = 0, f; f = form[i]; i++) { if(f.type == 'submit') f.disabled = true; } return true; },
一瞬で画面遷移してしまって本当にdisabledになっているのか確認できないという場合は、
上記function最後のreturn true;をreturn false;にしてsubmitしないようにするなどして動作確認してみてください
ありがとうございます!
上手くいきました。
感謝感謝です。