我在rhomobile应用程序中有一个视图,我想在其中隐藏和显示某些div,使用jQuery和Javascript。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>
很可能存在一个js错误,导致无法加载脚本的其余部分
我们需要知道的另外几件事是:
-
您使用的UI框架是什么?(jquery mobile、jqui等)
-
这是在罗德斯模拟器、设备或模拟器中发生的吗?
要弄清楚发生了什么:
- 检查rhossimulator中的控制台日志和rhodes日志,查找其中的任何错误
- 将警报附加到布局页面中的window.onerror事件,然后看看有没有什么东西出现
- 脚本中的所有内容都不太可能失败(这表明对于UI框架问题),请尝试添加一些警报或控制台日志到页面中脚本的顶部,或者更好地使用log4js和开始添加可以管理的调试代码