1

我在我的 rhomobile 应用程序中有一个视图,我想使用 jQuery 和 Javascript 隐藏和显示某些 div。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 错误。
我们需要知道的另外几件事是:

  1. 您使用的是什么 UI 框架?(jquery mobile、jqui 等)

  2. 这是否发生在罗德模拟器、设备、模拟器上?

要弄清楚发生了什么:

  1. 检查 rhosimulator 中的控制台日志和 rhodes 日志,查找那里的任何错误。
  2. 将警报附加到布局页面中的 window.onerror 事件,并查看是否显示任何内容。
  3. 脚本中的所有内容不太可能都失败(这将指向 UI 框架问题),尝试在页面中的脚本顶部添加一些警报或控制台日志,或者更好地使用 log4js 并开始添加您可以的调试代码管理。
于 2013-02-05T14:11:58.823 回答