2007-10-22
Rails之Ajax---remote-function
关键字: rails ruby ajax
Ruby on Rails宣称自己对web2.0技术的支持是很彻底的,其中对于ajax的使用,更是声称是业界领先的,下面就对其中的一些功能进行学习和实践。
在web的一个很普通的应用里面,有一个需要使用到ajax来提升用户体验的方法,比如,在用户注册的时候,当用户填写登录名称时,系统可以自动判定用户填写的注册名是否已经被使用,我们可以通过下面的方法来实现。
首先是rhtml
这里应该注意的是,在rhtml中添加ruby对ajax的支持
刷新浏览器,看看生成的源代码:
我们可以看到,通过remote_function的使用,html应用了 property中的new ajax方法,第一个参数是更新的区域(div),第二个参数是调用的action,这里需要重点记录一下第三个参数的写法,正是通过这个参数,才将用户在页面上填写的用户名传输到后台,这样就可以针对用户名是否存在进行校验了。
rhtml中是通过:with参数才实现的,这个参数是remote_function中option中的一个,是用来生成html中的parameters的,可以看到,冒号的前面是要传递的参数名,而后面则是页面上用户输入的值,Field.getValue('user_user_name')通过这个方法,可以取到form中id为user_user_name的input的值。
下面看一下controller:
代码很简单,通过参数取到用户输入的值,就可以进行相应的处理了。
在web的一个很普通的应用里面,有一个需要使用到ajax来提升用户体验的方法,比如,在用户注册的时候,当用户填写登录名称时,系统可以自动判定用户填写的注册名是否已经被使用,我们可以通过下面的方法来实现。
首先是rhtml
<%= form_tag %>
<input id="user_user_name" name="user[user_name]"
size="40" onblur="if(this.value!=''){
<%= remote_function(:update=>'result', :url=>{:action=>:isok},:with=>"{user_name:Field.getValue('user_user_name')}")%>;}"></input>
<div id="result"></div>
<br><%= submit_tag("submit")%>
<%= end_form_tag%>
这里应该注意的是,在rhtml中添加ruby对ajax的支持
<%= javascript_include_tag "prototype" %>
刷新浏览器,看看生成的源代码:
<form action="/ajax" method="post">
<input id="user_user_name" name="user[user_name]"
size="40" onblur="if(this.value!=''){
new Ajax.Updater('result', '/ajax/isok', {asynchronous:true, evalScripts:true, parameters:{user_name:Field.getValue('user_user_name')}});}"></input>
<div id="result"></div>
<br><input name="commit" type="submit" value="submit" />
</form>
我们可以看到,通过remote_function的使用,html应用了 property中的new ajax方法,第一个参数是更新的区域(div),第二个参数是调用的action,这里需要重点记录一下第三个参数的写法,正是通过这个参数,才将用户在页面上填写的用户名传输到后台,这样就可以针对用户名是否存在进行校验了。
rhtml中是通过:with参数才实现的,这个参数是remote_function中option中的一个,是用来生成html中的parameters的,可以看到,冒号的前面是要传递的参数名,而后面则是页面上用户输入的值,Field.getValue('user_user_name')通过这个方法,可以取到form中id为user_user_name的input的值。
下面看一下controller:
def isok
user_name=params[:user_name]
render_text user_name
end
代码很简单,通过参数取到用户输入的值,就可以进行相应的处理了。
- 14:01
- 浏览 (2217)
- 评论 (0)
- 分类: Ruby on Rails
- 相关推荐
发表评论
- 浏览: 101067 次
- 来自: 北京

- 详细资料
搜索本博客
我的相册
IMG_7195
共 46 张
共 46 张
最近加入圈子
最新评论
-
北京太乱了,求你,别来了 ...
深有感触。。。
-- by zisidemao -
【收藏】通过js调用WebSer ...
Where's http://localhost/accountws/servi ...
-- by dayrl -
Xfire在Spring下实现安全 ...
开源否开源社区:http://www.kaiyuanfou.com有更详细的说明
-- by zhongludeng -
Xfire在Spring下实现安全 ...
开源否开源社区:http://www.kaiyuanfouc.com有更详细的说 ...
-- by zhongludeng -
关于EhCache的使用
:o :lol: :cry: :wink:& ...
-- by dsl_0375






评论排行榜