首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制可以用textarea写入的行数

问限制可以用textarea写入的行数
EN

Stack Overflow用户
提问于 2015-01-08 08:59:15
回答 2查看 337关注 0票数 1

我不仅要限制输入可以在文本区域中按下的次数,而且要阻止输出超过两行。为了更好地解释,我有一个相框设计师这里。在选项中,您可以输入文本并将其显示在框架上。目前,如果您尝试按enter在文本区域超过2次,它不会让您。当文本太长并自动包装到新行时,问题就出现了。

这是一些相关的代码。

代码语言:javascript
复制
$(document).ready(function(){        
    var lines = 2;
    var linesUsed = $('#linesUsed');

    $('#input').keydown(function(e) {
        newLines = $(this).val().split("\n").length;
        linesUsed.text(newLines);
        if(e.keyCode == 13 && newLines >= lines) {
            return false;
        }
    });
});

这是一些限制TEXTAREA中行数的jquery。

和文本区域

代码语言:javascript
复制
<textarea id="input" maxlength="40" name="Text" value="Max. 40 characters"></textarea>

从文本区域输出输入的jquery。

代码语言:javascript
复制
$('#input').keyup(function() {
    $('#text').html($(this).val());
});

这是我的svg中嵌入的html,其中打印了输入的文本。

代码语言:javascript
复制
<foreignObject x="135" y="520" width="600" height="260" style="color:white;text-align:center">
    <body xmlns="http://www.w3.org/1999/xhtml">
        <div id="container2">
            <p id="text">Your words here</p>
        </div>
    </body>
</foreignObject>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-08 10:50:13

使用属性wrap=off可以防止textarea中的自动行包装,这是非标准的,但从HTML早期开始就得到了广泛的支持。

​

代码语言:javascript
复制
<textarea id="input" maxlength="40" name="Text"
placeholder="Max. 40 characters" wrap="off"></textarea>

​

(我已将value属性更改为placeholder属性。value属性对textarea无效。)

另一种可能更好的方法是使用两个input type=text字段而不是一个textarea字段来避免这个问题。然后,您将不需要JavaScript来阻止超过两行的输入,但是如果需要对字符总数进行限制(而不是仅仅设置每行的限制),那么就需要简单的JavaScript。

票数 0
EN

Stack Overflow用户

发布于 2015-01-08 09:11:20

下面是两个javascript库,它们可以帮助您完成以下工作:

正如您在演示站点上所看到的,这两种解决方案都是有效的。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27836262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档