Rails系统中的AJAX开发技术简析(3)

ajax|rails

六、 使用form_remote_tag

  这个form_remote_tag()帮助函数与link_to_remote()很相似,除了它也发送一个HTML表单的内容之外。这意味着该行动处理器可以使用用户输入的数据来形成响应。这个实例显示了一个web页面-它有一个列表和一个支持Ajax的表单-该表单能够让用户添加一些选项到该列表中。

  我的视图模板(index.rhtml)看上去象:

<html>
<head>
<title>Ajax List Demo</title>
<%= javascript_include_tag "prototype" %>
</head>
<body>
<h3>Add to list using Ajax</h3>
<%= form_remote_tag(:update => "my_list",
:url => { :action => :add_item },
:position => "top" ) %>
New item text:
<%= text_field_tag :newitem %>
<%= submit_tag "Add item with Ajax" %>
<%= end_form_tag %>
<ul id="my_list">
<li>Original item... please add more!</li>
</ul>
</body>
</html>

  请注意上面加粗的两部分,它们定义了表单的开始和结束。因为该表单以form_remote_tag()而不是form_tag()开始,应用程序将使用XMLHttpRequest提交这个表单。form_remote_tag()中的参数看上去是:

  ·更新参数用于指定DOM元素的id及行动执行结果要更新的内容-在本例中是my_list。

  ·url参数用于指定服务器端行动-在本例中,调用一个称为add_item的行动。

  ·位置参数代表插入到my_list元素顶部的返回的HTML片断-在本例中是一个<UL>标签

开发技术简析(3)-ajax原理与系统开发">
图4.在增加任何项前

  我的控制器类看起来象下面这样:

class ListdemoController < ApplicationController
def index
end
def add_item
render_text "<li>" + params[:newitem] + "</li>"
end
end

  add_item行动处理器构建一个HTML列表项片断,它包含输入到表单的newitem字段中的任何文本。


图5.添加几个新的列表项之后
时间: 2024-10-31 07:58:19

Rails系统中的AJAX开发技术简析(3)的相关文章

Rails系统中的AJAX开发技术简析(2)

ajax|rails 五. 使用link_to_remote Rails有若干帮助者方法以在你的视图的模板中实现Ajax.一种最简单且很通用的方法就是link_to_remote().让我们考察一个简单的web页面-它实现询问时间并且有一个链接,用户可以点击这个链接来获得当前的时间.该应用程序经由link_to_remote()使用Ajax以检索时间并且显示它于web页面. 我的视图模板(index.rhtml)看起来象: <html><head><title>Ajax

Rails系统中的AJAX开发技术简析

ajax|rails 一. Ajax的简短历史 在短短几个月内,Ajax从一种十分模糊稀罕的技术一下变成最热门的东西.本文将介绍极其容易使用的Ajax支持-作为Ruby on Rails web应用程序框架的一部分实现. 本文不是一个详细的教程,所以我假定你已经了解一点关于如何组织和构建一个Rails web应用程序的知识. 最开始出现的是万维网.比较于桌面应用程序,web应用程序相当缓慢和沉闷.无论如何,人们都喜欢上了web应用程序,因为他们无论在什么地方都能上网,只要身边的计算机上安装一个浏

Rails系统中的AJAX开发技术简析(1)

ajax|rails 一. Ajax的简短历史 在短短几个月内,Ajax从一种十分模糊稀罕的技术一下变成最热门的东西.本文将介绍极其容易使用的Ajax支持-作为Ruby on Rails web应用程序框架的一部分实现.本文不是一个详细的教程,所以我假定你已经了解一点关于如何组织和构建一个Rails web应用程序的知识. 最开始出现的是万维网.比较于桌面应用程序,web应用程序相当缓慢和沉闷.无论如何,人们都喜欢上了web应用程序,因为他们无论在什么地方都能上网,只要身边的计算机上安装一个浏览

Rails系统中的AJAX开发技术简析(4)

ajax|rails 七. 使用观察器 Rails能够让你监视一个字段的值,并且在无论何时字段值发生变化时,都作一次到一个行动处理器的Ajax调用.当前被观察字段的值被发送到本次调用相关的寄送数据的行动处理器中. 最常用的一种情况是实现一个实况查找: <label for="searchtext">Live Search:</label><%= text_field_tag :searchtext %><%= observe_field(:se

浅谈AJAX开发技术_AJAX相关

AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML),AJAX并不是一项新的技术,它产生的主要目的是用于页面的局部刷新,从之前的代码开发来看,读者可以发现,每当用户向服务器端发出请求时,那怕需要的只是简单的更新一点点的局部内容,服务器端都会将一个整体的页面进行刷新,并重新生成代码,这样一来程序的性能肯定会有所降低的,而如果采用了AJAX技术之后,就可以实现局部的内容变更,而不用再进行整体的页面刷新,显然处理的性能要比前者高很多 . 在AJA

光伏发电系统中的蓄能技术

1.光伏发电系统中蓄能技术的作用 光伏发电系统中的蓄能技术是转移高峰电力.开发低谷用电.优化资源配置.保护生态环境的一项重要技术措施.在我国,蓄能技术的推广应用刚刚起步,虽然推广应用的面很小,但效益明显,潜力很大.蓄能技术特别适用于可再生能源的光伏发电系统,由于可再生能源的不稳定性,导致其不能连续运行,因此,蓄能技术在光伏发电系统中有着非常重要的作用.在光伏发电系统中蓄能技术的作用如下: 1)负荷调节作用.能量存储装置可在电力系统的负荷低谷期充电,负荷高峰期放电. 2)负荷跟踪.超导蓄能系统.蓄

浅谈AJAX开发技术

AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML),AJAX并不是一项新的技术,它产生的主要目的是用于页面的局部刷新,从之前的代码开发来看,读者可以发现,每当用户向服务器端发出请求时,那怕需要的只是简单的更新一点点的局部内容,服务器端都会将一个整体的页面进行刷新,并重新生成代码,这样一来程序的性能肯定会有所降低的,而如果采用了AJAX技术之后,就可以实现局部的内容变更,而不用再进行整体的页面刷新,显然处理的性能要比前者高很多 . 在AJA

hadoop 在win系统中的eclipse开发测试问题及解决

hadoop 在win系统中的eclipsehttp://www.aliyun.com/zixun/aggregation/13508.html">开发测试问题及解决 博客分类: hadoopeclipse hadoopeclipsecygwin hadoop 在win系统中的eclipse开发测试问题及解决 一· 在win系统下安装cygwin的步骤不在赘述,常见错误如下:问题1] # /usr/local/sbin/sshd/usr/local/sbin/sshd: error whi

Oracle的数据字典技术简析_oracle

正在看的ORACLE教程是:Oracle的数据字典技术简析.数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等.当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息. Oracle中的数据字典有静态和动态之分.静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的.以下