2011-07-24 12 views
0

私はajax経由でフォームを送信していますが、フォームが送信されている間、アニメーションGIFを表示する必要があります。rails 3ディスプレイにアニメーションが表示され、フォームにjavascriptのバリデーションが表示されます

<div id="loading_registration" style="display:none" >loading...</div> 

と私のスクリプトで:私は

私のフォーム

<% form_tag url_for(:action=>'create'),:remote=>true, :id=>"registration_form" do %> 
    ...some form fields... 
    <% submit_tag 'Create my account' %> 
<% end %> 

をfolowingないとき それは私がある隠されたdivの中に位置してアニメーションGIFを持っているすべての作業罰金です私が持っているセクション

var toggleLoading = function() { $("#loading_registration").toggle() }; 
    $("#registration_form") 
    .bind("ajax:loading", toggleLoading) 
    .bind("ajax:complete", toggleLoading) 
    .bind('ajax:success', function(evt, data, status, xhr) { 
        }); 

今私はこれを変更する必要がありますliest javascript validation functions befeorフォームはajax経由でサーバーに送信されます。

ので、私は次のようでした:それはすべての権利を働いて、それはAJAX呼び出しをサンドする前にjavascriptの検証を実行さ

$('#registration_form').submit(function() { 

if ($("#first_name").val()!=''){ 
    $(this).ajaxSubmit(options); //submit the form 
} 
else{ 
    ..display some client side message to the user 
} 
    // !!! Important !!! 
    // always return false to prevent standard browser submit and page navigation 
    return false; 
}); 


私のスクリプトセクションで 私は、次の機能を追加しました。
が、問題は、今では私がfollwing方法でajaxSubmitのオプション]セクションに追加しようとした
私のロードGIFアニメーションが表示されていないということです。

var toggleLoading = function() { $("#loading_registration").toggle() };     
var options = { loading: toggleLoading, 
       complete: toggleLoading}      


$('#registration_form').ajaxSubmit(options); 

が、それは働いていませんでした。私はこの

var options = { loading: alert('loading'), 
     complete: alert('complete')}      
$('#registration_form').ajaxSubmit(options); 

のように内部からのアラート機能を呼び出す場合にのみ働くが、私は警告するのではなく、関数の呼び出しかどうかは

を動作を停止し、誰かが解決策を持っている場合、私はここにするために喜んでいるでしょうこの問題は

おかげ

答えて

1

あなたはjquery validator pluginと同じことをしようとしたことがありますか?

+0

私の問題は検証ではなく、フォームがajaxを介して送信されるときに表示する必要がある読み込みアニメーションgif –

関連する問題