我有一个简单的电子邮件条目,当用户按下提交按钮且电子邮件为空或无效时,该条目应闪烁通知“电子邮件不能为空或无效”。我设法让它工作,所以通知弹出电子邮件条目表单。但我想要的是直接在电子邮件条目表单上然后淡出的错误消息。我一直在查找不同的淡出片段,一切看起来都非常简单 - 所以我错过了什么?感谢任何帮助。
这是在应用程序助手中:
def show_flash_message(options={})
html = content_tag(:div, flash.collect{ |key,msg| content_tag(:div, msg, :class => key) }, :id => 'flash-message')
if options.key?(:fade)
html << content_tag(:script, "setTimeout(\"new Effect.Fade('flash-message');\",#{options[:fade]*1000})", :type => 'text/javascript')
end
html
端
这是在布局中: &lt;%= javascript_include_tag:all%&gt;
这是在视图中: &lt;% - flash.each do | flash_type,message | - %GT; &lt;%= content_tag:div,message,:class =&gt; “flash#{flash_type}”%&gt; &lt;%content_tag:script,:type =&gt; “text / javascript”do%&gt; setTimeout(“$$('div.flash')。each(function(flash){flash.hide();})”,1000); &lt;%end%&gt; &lt;% - end - %&gt;
<div class="inputs" style="margin-left:30px">
<%= f.text_field :email, :value => 'Please enter your email.', :onfocus => "if(this.value==this.defaultValue) this.value=''; this.style.color = '#333333'", :onblur => "if(this.value=='') this.value=this.defaultValue;this.style.color = '#aaaaaa'"%>
答案 0 :(得分:1)
看起来你正在使用你的$$动作中的Prototype。你应该检查Scriptaculous淡入淡出效果: