私は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);
のように内部からのアラート機能を呼び出す場合にのみ働くが、私は警告するのではなく、関数の呼び出しかどうかは
を動作を停止し、誰かが解決策を持っている場合、私はここにするために喜んでいるでしょうこの問題は
おかげ
私の問題は検証ではなく、フォームがajaxを介して送信されるときに表示する必要がある読み込みアニメーションgif –