5
在我的ruby on rails应用程序中,我试图使用Prototype Form.Element.Observer来运行消息中的字符计数。这适用于Firefox/Safari/Chrome,但不适用于IE。在IE上,观察者根本不会开火。有没有修复或不同的方式来做到这一点?观察员不能在IE中工作
我的红宝石标签如下所示:
<%= countdown_field('txtmsg[memo]','memo-counter', 141, :frequency => 0.10) %>
的countdown_field功能如下:
def countdown_field(field_id,update_id,max,options = {})
function = "$('#{update_id}').innerHTML = (#{max} - $F('#{field_id}').length);"
count_field_tag(field_id,function,options)
end
def count_field_tag(field_id,function,options = {})
out = javascript_tag function, :defer => 'defer'
out += observe_field(field_id, options.merge(:function => function))
return out
end
得到的HTML看起来像这样:
<textarea class="memo-tag text txtmsg-memo" id="txtmsg[memo]" name="txtmsg[memo]" />
<p>You have <span id="memo-counter">...</span> characters left.</p>
<script defer="defer" type="text/javascript">
$('memo-counter').innerHTML = (141 - $F('txtmsg[memo]').length);
</script>
<script type="text/javascript">
new Form.Element.Observer('txtmsg[memo]', 0.1, function(element, value) {
$('memo-counter').innerHTML = (141 - $F('txtmsg[memo]').length);})
</script>
是的,我格式化我的问题时,我巧妙地删除了结束标记。添加它,并添加了列和行。仍然不起作用。 – oillio 2010-03-17 04:05:38
原来是由我的框架生成的JavaScript引起的错误。不管怎么说,还是要谢谢你。 – oillio 2010-03-22 04:37:15