2009-03-19 23 views
3

グリーティングフォーム送信時に送信ボタンを無効にする問題

送信プラグインでjqueryを無効にしていますが、問題があります。送信ボタンを無効にすると、サーバーに戻されないので、どのボタンが押されたのかわかりません。これは正常ですか?私はそれについて何かできることはありますか?

ウェブサイトを再調整したくないので、どのボタンが押されたかを伝えるためにフォーム送信時に変数を設定する必要があります。

アイデア?あなたが行うことができ

答えて

0

は、ここで私はちょうどa jQuery forumで見つかった回避策です:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#sendSearch").click(function() { 
      $('#loadingDiv').show(); 
      $('#sendSearch').attr("disabled", "disabled"); 

      // these two lines are the workaround 
      this.form.submit(); 
      return true; 
     }); 
    }); 
</script> 
+0

はい、それ以外の場合は投稿しません。どのブラウザではうまくいきませんか?バージョン? –

+0

+1なぜそれが投票されたのかわかりませんが、imho thatsはjavascriptの有無にかかわらず動作します。 – Jordie

+0

これをASP.NET Webフォームで試しましたか?そうは思わなかった。 –

0

jQueryを経由して提出し、その後、ボタンを無効にします。

<input type="submit" value="do it!" onclick="$('#mainform').submit(); $(this).attr('disabled','disabled'); $('#pleasewait').show();" /> 

を編集: 私はform.submitを忘れては()は非同期ではありません。代わりに、AJAX要求を行うことができます。

$.ajax({ 
url: "someurl", 
type:"POST", 
cache: false, 
dataType: "json", 
success:gotIt, 
async:true, 
timeout:240000, 
error:ajaxError, 
data:$("#mainform").serialize() 
}); 

またはあなただけ.hide()ボタン、または非機能のonClick()ハンドラを設定し、それをクリックし、それをスタイリングした後に無効に探すことができます。

+0

て私はポストパラメータを指定する必要はありません。このAJAX呼び出しを行いますあまりにも? – Jordie

3

How to Disable the Submit Button of a Web Form

この方法ではなく、それを無効にするボタンを隠し、そしてプログラムでは、送信ボタンが無効になっていただけのようを表示さ作るために無効<ボタン>タグを挿入します。よく働く。

0

はよりシンプル:)

var formid="#id-form-if-exists"; //Put here the id if exists 
$("form"+formid).submit(function(){$("form"+formid+" input").attr("disabled",false);}); 

YEAH

関連する問題