我需要显示一定量的文本结果,为此我使用了一个javascript函数“toWords”。当我使用onInput或onClick时,这个函数工作的很好,但是当文档打开时我需要调用这个函数。所以这是我试过的:Rails:如何从HTML渲染中调用Javascript函数:pdf
<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)">
但这一切的工作,并没有任何显示。
更新:当我从控制器中删除渲染:pdf时,它工作。所以问题是在渲染我的PDF文件时在onLoad上运行这个函数。
你不能试穿'body'标签'onload'回调? –
什么是text_amount方法的渲染版本?在Chrome浏览器(或者你使用的任何浏览器)中开始这个操作,并检查它是否有意义。 –
'@ amount.to_f'可能不会返回任何东西..试着放这个,看看<%='1.0'.to_f%>'而不是'<%= @ amount.to_f%>' – Minato