`
sunfengcheng
  • 浏览: 180670 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

监控文本区域的内容长度

阅读更多
监控文本区域的内容长度

  我们经常在网络注册或者填写电子简介的时候经常会看到你输入的内容应该在 多少多少 字之间, 你超过了多少字符,等等。 今天这了就是来实现这个经常使用的功能。
   解决方法:
 
  布局包括了。 prototype 库, 并包含了一个 error 出错信息的提示样式 。

app/controllers/tags_controller.rb:

class TagsController < ApplicationController

  def list
    @tags = Tag.find(:all,:order => "created_on desc")
  end

  def add
    Tag.create(:name => params[:name])
    @tags = Tag.find(:all, :order => "created_on desc")
    render :partial => "tags", :locals => {:tags => @tags}, :layout => false
  end
end

你的表单包含一个  有text_area 辅助方法生成的textarea 元素, 以及一个作用于这个 textarea 元素上的恶 对observer_field 的调用。

app/views/articles/edit.rhtml:

<h1>Editing article</h1>

<% form_tag :action => 'update', :id => @article do %>
  <p>
    <div id="length_alert"></div>
    <label for="article_body">Short Intro (255 character maximum)</label>

    <%= text_area 'article', 'body', "rows" => 10  %>
  </p>
  <%= submit_tag 'Edit' %>
<% end %>

<%= observe_field("article_body", :frequency => 1,
                            :update => "length_alert",
                            :url => { :action => "check_length"})

控制器包含 check_length 的方法,这个方法就是重复检查textarea 中的数据长度。
app/controllers/articles_controller.rb:

class ArticlesController < ApplicationController

  def edit
  end

  def check_length 
    body_text = request.raw_post || request.query_string

    total_words = body_text.split(/\s+/).length
    total_chars = body_text.length
    if ( total_chars >= 255 )
      render :text => "<p class=\"error\">Warning: Length exceeded!
                        (You have #{total_chars} characters; #{total_words}
                        words.)</p>" 
    else    
      render :nothing => true
    end
  end
end
3
0
分享到:
评论
1 楼 qichunren 2008-08-21  
感觉这样不好,不就是简单地检查一下字符的长度吗?
Is it necessary to send a ajax request to server?
Javascript can to this easily.

相关推荐

    Excel百宝箱9.0无限制破解版.rar

    可以选择大于某值或者小于某值或者在某范围之间的值,文本定位时支持通配符。还可以按格式查找/定位 【背景着色】:将当前或者列进行颜色标示,以突出显示,有利于数据查看。可以随心所欲地定义颜色,还可以自由...

    Exce百宝箱——2012版本.rar

    第一参数为参照区域,第二参数为颜色条件,第三参数为求和区域,即第一参数中颜色与第二参数相同,则将对应的第三参数的单元格进行求和。如果省略第三参数则对第一参数求和。 函数名称:AVER 函数功能与参数:评分...

    Microdraw图形控件开发版本-试用版

    可以用于开发行业(CAD/GIS/GPS)软件(如:建筑CAD,机械CAD,服装CAD等),数据加工软件(CAD/CNC)(如:线切割软件,激光打标软件),管理软件(MIS/PDM/ERP/MRP2/CAPP,图档管理),监控系统(煤矿,电力,电讯,煤气,消防等行业) ...

    基础地理信息数据库管理系统.doc

    基础地理信息数据库管理系统 一、目标 基础地理数据库管理系统建设是... 系统日志管理(用户、时间、IP、读写操作记录、数据要素变化数量、内容等存储、 查询、检索); 数据字典管理(1:1000、1:2000 DLG、DEM、DOM及其

    基础地理信息数据库管理系统.pdf

    基础地理信息数据库管理系统 一、目标 基础地理数据库管理系统建设是遵照计算机... 系统日志管理(用户、时间、IP、读写操作记录、数据要素变化数 量、内容等存储、查询、检索); 数据字典管理(1:1000、1:2000 DLG、

    flash shiti

    将作品编辑区域以“工作区”方式显示 B. 在编辑区域中显示标尺 C. 在编辑区域中显示底格辅助线 D. 设置“磁铁”功能 7.Flash5中,Common Library默认共有几类公用对象: A. 3 B. 4 C. 5 D. 6 8.Flash中Remove...

    delphi 开发经验技巧宝典源码

    0214 如何改变表格列的矩形区域颜色 142 0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 ...

    delphi 开发经验技巧宝典源码06

    0214 如何改变表格列的矩形区域颜色 142 0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 ...

    VC++6.0核心编程源码.rar

    请记住,我只选择了WinError.h头文件中的很少一部分内容来向你进行展示,整个文件的长度超过21000行。 当Windows函数运行失败时,你应该立即调用GetLastError函数,否则,如果你调用另一个Windows函数,它的值很可能...

    flex3的cookbook书籍完整版dpf(包含目录)

    16.3.节在图表中选择一个区域 16.4.节设计图表的刻度线 16.5.节为图表创建自定义标签 16.6.节创建列状图的明细项目效果 16.7节为图表的元素更换皮肤 16.8.节使用ActionScript动态添加和去除图表中的列 16.9.节重叠多...

    中文版RFC,共456

    RFC13 零文本长度的EOF信息 RFC16 M.I.T RFC18 IMP-IMP和主机-主机控制联接 RFC19 可用来降低有限交换节点阻塞的两条协议性的建议 RFC20 用于网络交换的 ASCII 格式 RFC21 网络会议 RFC22 主机-主机控制信息格式 RFC...

    RFC中文文档-txt

    RFC13 零文本长度的EOF信息 RFC16 M.I.T RFC18 IMP-IMP和主机-主机控制联接 RFC19_可用来降低有限交换节点阻塞的两条协议性的建议 RFC20_用于网络交换的 ASCII 格式 RFC21 网络会议 RFC22 主机-主机控制信息格式 RFC...

    PL/SQL Developer8.04官网程序_keygen_汉化

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权  大多数开发环境中,您不希望所有数据库...

    C#.net_经典编程例子400个

    299 7.6 系统监控 299 实例211 检测系统启动模式 300 实例212 内存使用状态监控 301 实例213 监视剪贴板内容 302 7.7 系统软件信息 303 实例214 获取用户名 303 实例215 获取系统...

    rfc中文文档目录,包含部分翻译

    RFC13 零文本长度的EOF信息 RFC16 M.I.T RFC18 IMP-IMP和主机-主机控制联接 RFC19_可用来降低有限交换节点阻塞的两条协议性的建议 RFC20_用于网络交换的 ASCII 格式 RFC21 网络会议 RFC22 主机-主机控制信息格式 ...

    PLSQLDeveloper下载

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权——大多数开发环境中,您不希望所有数据库...

    Linux操作系统基础教程

    Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言..........................................................................................................................................

Global site tag (gtag.js) - Google Analytics