2011-08-11 4 views
0

を提出して示してAjaxを使って提出するフォームをクリックしてくださいするにはフォームを送信するために少し時間を取っています多くのことが起こっています。その結果、ユーザーは、何か間違ったことや非常に悪いことが起こったかもしれないと再度考えてボタンをクリックすることがあります。があるので、どのように第二のユーザを防ぐためにそれを提出クリックした後、私はASP.NET MVC 3</p> <p>のフォームで看板を持って進行

ボタンを有効/無効にすると、おそらく2番目のクリックを防ぐ最も簡単な方法ですが、フォームポストをajaxに変更することになります。

Si私は何を考えているのですか:ユーザーが投稿をクリックした後、処理中のリクエストと処理中のフォームの後に何らかのAjaxラダーを表示するというポップアップ/ divを表示したいと思います。サーバーコントローラのロジックに従って(クライアント側はユーザーがリダイレクトされる場所はわかりません)

これは可能ですか?あなたの意見は何ですか?どうすればいいですか?

現在、私はjQuery Form pluginを探していますが、それが助けになるかもしれませんが、もしあなたが何かを提案してもいいかもしれません。

また、この解決策が見つかりましたajax - Prevent double click on submitしかし、私はまだ進行状況の表示ポップアップが欲しいと思います。

答えて

0

私は同じ問題を抱えていましたが、これまでは.attr("disabled","disabled")を使用して最初のクリックでボタンを無効にしてから、2回目のクリックがトリガーされませんでした。

普段だけ<div>を表示し、処理が終了したときにそれを隠しているポップアップを追加するには:jQueryのアヤックス応答の成功(またはエラー)の方法では.removeAttr("disabled")

EDITを使用しています。デフォルトではそう

あなたはdivのCSSは今、あなたはまた、$("#myPopUp").show()とポップアップを表示し、再びそれを隠すことができ、ボタンを無効を追加するとき

#myPopUp{ 
display: none; 
top: 50px; 
left: 50px; 
width: 250px; 
height: 100px; 
background-color:darkblue; 
background-color:white;  
} 

HTML

<div id="myPopUp">This is a popup</div>` 

ですボタンの削除が無効になった直後$("#myPopUp").hide()

+0

進捗状況についてはどうなりますか? – Joper

+0

申し訳ありません、それを忘れました。私は返信を編集します。 – T9b

+0

もう一つの事を考えました。サーバーにフォーム検証エラーがある場合は、このポップアップを閉じて表示する必要があります。これは簡単ですか? – Joper

関連する問題