随笔-167  评论-65  文章-0  trackbacks-0

上一遍我介绍了observe_field,我们知道这些方法都是rails封装好的ajax实现,例如还有下面的这些方法,如果想了解更多,请查阅api PrototypeHelper

build_callbacks
build_observer
button_to_remote
evaluate_remote_response
form_remote_for
form_remote_tag
link_to_remote
method_option_to_s
observe_field
observe_form
options_for_ajax
periodically_call_remote
remote_form_for
remote_function
submit_to_remote
update_page
update_page_tag

这次用form_remote_tag 主要是为了验证用户登陆的,为了改善用户的人性化使用,所以能用ajax实现的最好用ajax实现

实现效果:

image

实现过程:

rhtml:

<span id="loginerror" class="error"></span>



<%= form_remote_tag(:url => { :action => :login }) %>

……………………….

<%= form_tag %>


controller:

if 验证成功

  render :update do |page|
    page.redirect_to :controller=>'myorganizer',:action=>'index'
  end
else 
  render :update do |page|
    page.replace_html 'loginerror', '用户名或者密码错误'
  end

注意:

1,显示信息的id最好在form的上面,不要在form的里面,不然可能会出错

2,使用这种 render :update的方式,不要使用,form_remote_tag 的:update选项的方式(使用这种方式,错误可以提示,但是正确了不可以跳转,因为你更新的是那个指定的id),不然的话会出现下面的错误:rjs错误

ajax2

ref:

http://www.javaeye.com/topic/34655

http://railsforum.com/viewtopic.php?id=8510

http://jmvidal.cse.sc.edu/talks/rubyonrails/form_remote_tag.html



write by feng
posted on 2009-04-29 18:21 fl1429 阅读(2253) 评论(2)  编辑  收藏 所属分类: Rails

评论:
# re: Rails form_remote_tag使用 2009-09-22 13:04 | 金仁贵
你这个我运行不了,它会跳到一个下载文件,下载文件的内容是要执行的那段js代码

  回复  更多评论
  
# re: Rails form_remote_tag使用 2009-09-22 18:11 | fl1429
@金仁贵
javascripts :defaults 加入了吗?。。。还有用了 prototype 就不要加载 jquery 了,不然会冲突的!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
已访问数:
free counters