【发布时间】:2015-10-19 12:50:07
【问题描述】:
我需要显示一个金额的文本结果,为此我使用了一个 javascript 函数“toWords”。这个函数在我使用 onInput 或 onClick 时效果很好,但是我需要在文档打开时调用这个函数。所以这就是我尝试过的:
<div class="label-field-pair3-text-area">
<p id="demo"></p>
</div>
<script type='text/javascript'>
document.getElementById("demo").innerHTML = window.toWords("<%= @amount.to_f %>");
..... </script>
但这不起作用。我也试过这个:
j(document).ready( function(){ text_amount();});
function text_amount(){
var i= getElementbyId('payment_text');
i.val(toWords("<%= @amount.to_f %>"));}
还有这个:
<div class="label-field-pair3-text-area" id='payment_text' onload = "text_amount(150)">
但是这些都不起作用,什么也没有显示。
更新:当我从控制器中删除 render :pdf 时,它起作用了。所以问题在于在渲染我的 PDF 文件时运行这个函数 onLoad。
【问题讨论】:
-
你不能在
body标签上尝试onload回调吗? -
text_amount 方法的渲染版本是什么?在 chrome(或您使用的任何浏览器)开发控制台中逐步执行此操作并检查它是否有意义。
-
@amount.to_f可能什么都没有返回.. 试试看<%= '1.0'.to_f %>而不是<%= @amount.to_f %>
标签: javascript html ruby-on-rails render