`
sunfengcheng
  • 浏览: 183594 次
  • 性别: 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.

相关推荐

    Qt textBrowser 怎么限制输入的文本大小?-CSDN论坛1

    正如论坛中提到的一种方法,你可以监控文本内容的长度,在插入新文本之前检查当前内容的长度。如果超过了预设的限制,可以删除相同长度的最顶端的数据,然后再插入新的文本。这种方法需要自定义一个信号和槽来实现,...

    天任电子 TOD文本显示器培训资料.pdf

    TOD文本显示器的最大显示区域为192*64像素,能够适应各种监控和显示需求。 使用TOD文本显示器,用户可以在计算机上使用专用的编辑软件进行界面设计和功能编程。设计完成后,通过串口将编辑好的数据下载到文本显示器...

    监控程序清单(机器指令与汇编指令对照)

    在提供的文件中,我们可以看到一系列的定义,这些定义用于设置监控程序中的常量和内存区域。例如: 1. CR, LF, TAB, 和 DEL 分别代表ASCII码中的回车符、换行符、制表符和删除符,它们在文本输出和输入中起到关键...

    AutoResizeEditText,android项目将其文本大小调整为不大于显示宽度。.zip

    例如,你可以设定一个阈值,当文本达到一定长度时才开始缩小字体,或者设置一个最小缩放比例,以保持文本的可读性。这些自定义选项增加了灵活性,可以根据应用的具体需求进行配置。 在实际应用中,...

    基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别.zip

    在文本识别任务中,由于输入的图像文本长度可能不固定,而输出的字符序列长度也随文本内容变化,CTC通过计算概率分布的最优化来解决这种对齐问题,使得模型能够处理任意长度的文本。 在“chinese-ocr-master”目录...

    基于libtorch的psenet和crnn 文本检测识别代码.zip

    与PSNet负责检测文本的位置不同,CRNN关注的是将检测到的文本区域转换成可读的字符序列。CRNN结合了卷积神经网络(CNN)来捕获图像特征,长短时记忆网络(LSTM)处理序列信息,以及一个连接主义分类器来映射序列到...

    oracle数据库文本文档

    - 当满足一定的条件时,比如LRU列表达到一定长度或者定时触发等,DBWR会启动数据写入操作。 2. **日志写入操作**: - LGWR进程负责将重做日志缓冲区中的内容写入到重做日志文件中。 - 日志写入通常发生在事务...

    Count-character-words-js:文本区域数

    【标题】"Count-character-words-js: 文本区域数" 是一个JavaScript项目,专注于实现一个字符和单词计数器功能,特别适用于HTML文本输入域。这个功能在网页表单、在线编辑器或任何需要限制输入长度的应用场景中非常...

    基于CNN网络对英文文本进行情感分类,采用tensorflow工具.zip

    在现代社交媒体时代,大量用户生成的文本数据使得情感分析具有广泛的应用,如市场分析、舆情监控和客户服务。 1. **卷积神经网络(CNN)** 卷积神经网络最初被设计用于图像识别,但近年来已成功应用于文本处理。...

    应用源码之(EditText文本编辑).zip

    可以通过添加`TextWatcher`监听器来监控EditText中的文本变化。`afterTextChanged()`, `beforeTextChanged()`, `onTextChanged()`三个方法分别在文本改变后、改变前和正在改变时被调用,可用于实时处理用户输入。 ...

    网页文字溢出显示省略号jQuery插件代码

    这会将插件的设置应用到选定的元素上,开始监控文本溢出情况。 5. **设置选项**:插件提供了多种可配置的选项,如`ellipsis`(省略号内容)、`wrap`(溢出内容的处理方式)和`after`(省略号后的内容)。你可以根据...

    改进的中文静态网页新闻正文自动抽取算法_何春辉1

    然而,原算法在处理短文本段落和仅依赖行块长度判断骤升骤降点时存在不足,可能导致误抽噪声内容。为改进这些问题,新算法提出: 1. **更好的行块分割策略**:优化行块的划分,使得短文本段落的识别更加准确。 2. ...

    jq+js限制鼠标右键粘贴

    在某些应用场景下,如在线考试系统、代码编辑器等,开发者可能希望限制用户通过鼠标右键粘贴文本到特定的输入框或文本区域,以防止作弊或者保证数据的合法性。这通常涉及到对`textarea`元素的监控和对右键菜单的...

    鞋类切捆条机和文本的程序.rar

    3. **进料控制**:通过传感器检测原料的位置和速度,控制进料机构的动作,确保材料平稳进入切割区域。 4. **切割控制**:根据设定的宽度和长度参数,控制切割刀具的运动,完成切割动作。 5. **出料控制**:将切割好...

    高层框剪结构钢筋工程技术交底记录文本.doc

    【高层框剪结构钢筋工程技术交底记录文本】 在高层框剪结构的钢筋工程中,技术交底是一项至关重要的环节,确保所有参与施工的人员都明白施工的具体要求和规范。这份交底记录涉及到钢筋工程的多个方面,包括施工准备...

    google video retrieval paper

    通过使用视角不变的区域描述符、时间连续性的利用以及文本检索的技术,实现了快速且准确的视频对象检索功能。这种方法不仅提高了视频检索的效率,还为未来的视频检索应用提供了新的思路和技术支持。

    智慧电子病历数据的应用方案.pptx

    它运用了近百种技术手段来强化病历的质量,例如必填项检查、文本长度限制、数字范围验证、日期范围检查、正则表达式匹配、违禁关键字检测、主动引导输入、强制可编辑区域限制、关键字引用、拷贝限制、局部内容只读、...

    TIA博途Wincc-报警视图的列宽调整的具体方法示例.docx

    这种方法允许你精确地调整列宽,以适应不同长度的报警文本,避免信息重叠或显示不全。 4. **保存设置**:调整完列宽后,释放鼠标左键,系统会自动保存你的设置。这样,下次打开触摸屏或者运行项目时,报警视图将以...

Global site tag (gtag.js) - Google Analytics