人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

こんにちは
JAVASCRIPTについてお教えください。

? http://espion.just-size.jp/archives/07/035231221.html
↑こちらで紹介されている、フォームのバリデーションのJAVASCRIPTを使用しているのですが、
同時に、
? http://shoyu-ramen23.jugem.jp/?eid=211
↑こちらで紹介されているような、送信ボタンの2度押しを防止するためのJAVASCRIPTも使用したいのです。
しかし、どのように二つを組み合わせればよいのかがよくわかりません。

?でバリデーションを行うとき、全てフォーム内容のチェックが通り、無事サブミットが行われるときのみ?が適用されて、送信ボタンが無効状態にしたいと思っています。
つまり、まだフォーム内容に未記入などがある場合は、ボタンは無効にならないようにしたいわけです。

大変恐縮ですが、どうぞご教授ください。

●質問者: van2010
●カテゴリ:インターネット ウェブ制作
✍キーワード:JavaScript こんにちは バリ ボタン 教授
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど
●100ポイント ベストアンサー

(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しないようにするなどして動作確認してみてください

◎質問者からの返答

ありがとうございます!

上手くいきました。

感謝感謝です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ