如何显示交互式角色限制?

时间:2009-05-05 06:13:32

标签: ruby-on-rails forms

Stack Overflow如何显示交互式字符限制?与编辑评论时一样,它会显示您剩下的字符数,以及警告是否太少。

我喜欢Ruby on Rails中的确切功能......但不知道该怎么做?

5 个答案:

答案 0 :(得分:12)

Stackoverflow使用jQuery JavaScript Framework,它有很多现有的脚本和插件用于此类事情。

一个例子是Interactive Character Limit for TextArea in jQuery演示了here

我确信还有其他人。

答案 1 :(得分:5)

我使用以下JavaScript函数来限制textareas中的最大长度

function checkLength(edit, maxlen) 
{
if (edit.value.length > maxlen) 
    edit.value = edit.value.substring(0, maxlen);

    document.getElementById('remaining').innerHTML = edit.value.length;
}

将此链接到textarea的onKeyDown和onKeyUp属性:

onKeyDown = "checkLength(this, 100);"

答案 2 :(得分:1)

通过在输入上使用onkeydown事件。有数以百万计的例子,坦率地说,如果这不是一个重复的问题,我会感到惊讶。

How to show interactive character limits?

答案 3 :(得分:0)

我认为你正在寻找一些javascript,基本上你在文本框onkeypress事件中添加一个处理程序然后获取当前长度:

mytextbox.value.length

并限制它你可以做类似的事情:

if (mytextbox.value.length > maxlimit) 
mytextbox.value = mytextbox.value.substring(0, maxlimit);

答案 4 :(得分:0)

您还可以使用简单的javascript事件处理来显示字符数 用于输入元素。无需服务器端处理。

这个javascript捕获文本区域“txt”的按键事件 并显示跨度“count”中的字符数。

看到它在运行 http://aaron.oirt.rutgers.edu/myapp/root/charCount.html

<html>
<head>

<script>
function go() {
    var txt=document.getElementById("txt");
    txt.onkeydown = countTxt;
}
function countTxt() {
    var txt=document.getElementById("txt");
    var count=document.getElementById("count");
    count.innerHTML = txt.value.length+1; // count the character not shown yet ;)
}
</script>

</head>
<body onload="go()">

<h3>type in the text area and see the count change</h3>

<textarea id="txt" rows="8" cols="30"></textarea>
<br>
count: <span id="count"> 0</span>

</body>

计数可以离开我的+ -1 - 修复(如果你真的想)留给读者。