1

jQueryとJavascriptを使用して、特定のdivを非表示および表示したいrhomobileアプリにビューがあります。Javascript コードはビュー ファイルに埋め込まれていますが、実行されていません。たとえば、このコードは私のアプリでは何もしません:

<script type="text/javascript">
$(document).ready(function () {
alert("loaded submit.erb...");
showLoadingIndicator();});
</script>

新しく生成されたアプリ プロジェクトに付属する標準の layout.erb を使用しています。どんな助けでも大歓迎です。

HTML 出力:

<script type="text/javascript">
$(document).ready(function () {
alert("loaded submit.erb...");
showLoadingIndicator();});

function showLoadingIndicator(){
    setTimeout(function(){
            $('#loadingPlaceholder').hide();
            <% if @params["body"] == "SUCCESS" %>
            successfull();
            <% elsif @params["body"] == "FAILED" %>
            <%= puts "### FAILED ###" %>
            not_successfull();
            <% else %>
                wait();
            <% end %>
        },6000);
}
function successfull(){
  $('#successfull').show();
}

function not_successfull(){
  $('#not_successfull').show();
}

function wait(){
    <%= puts "+++ body => +++" %>
    <%= puts  @params %>
    <%= puts "++++++++++++++++++" %>
}</script>
<div data-role="page">
    <div id="loadingPlaceholder" style="width: 100%; height: 250px; text-align: center;  position: absolute; display: block">
            <div>
                Ihre Anfrage wird gesendet...
            </div>
    </div>  

    <div id="successfull" style="width: 100%; height: 250px; text-align: left;  position: absolute; display: none">

        Ihre Anfrage wurde gesendet.<br>
        Wir setzen uns umgehend mit Ihnen in Verbindung.
    </div>

    <div id="not_successfull"  style="width: 100%; height: 250px; text-align: left;  position: absolute; display: none;">
        Leider konnte Ihre Anfrage nicht versendet werden.<br><br>
        Bitte versuchen Sie es später noch einmal.<br> 

    </div>
</div>
4

1 に答える 1

0

ほとんどの場合、残りのスクリプトのロードを妨げている js エラーがあります。
私たちが知る必要があるもう2つのことは次のとおりです。

  1. どの UI フレームワークを使用していますか? (jquery モバイル、jqui など)

  2. これは rhodes シミュレーター、デバイス、エミュレーターで発生していますか?

何が起こっているのかを理解するには:

  1. rhosimulator のコンソール ログと rhodes ログを確認し、そこでエラーを探します。
  2. レイアウト ページの window.onerror イベントにアラートを添付し、何かが表示されるかどうかを確認します。
  3. スクリプトのすべてが失敗している可能性は低いです (UI フレームワークの問題を示している可能性があります)。アラートまたはコンソール ログをページのスクリプトの先頭に追加するか、log4js を使用してデバッグ コードの追加を開始することをお勧めします。管理。
于 2013-02-05T14:11:58.823 に答える