javascript - 一旦达到 "textarea"就更改 "maxlength"行

标签 javascript

我正在尝试创建一个文本区域,其中设置了最大长度并且将其保留在一行上。一旦达到最大长度,就需要定位 textareas 属性,以便最大长度加倍并添加另一行。

为了看看这是否可行,我尝试添加额外的行和四十多个字符。这是我的代码...

<!DOCTYPE html>
<HEAD>
<TITLE>Cool Text Form</TITLE>
</HEAD>
<script language="javascript" type="text/javascript">
function newline()
{
    x = document.getElementById("notesfield").length;
    if (x >= 40)
        document.getElementById("notesfield").rows="2";
        document.getElementById("notesfield").maxlength="80";
}
</script>
<textarea id="notesfield" maxlength="40" rows="1" onkeyup="newline()" class="notes">Notes go here.</textarea>

问题是,这段代码不起作用。我已经尝试过了,一旦达到最大长度,就没有任何反应。另外,chrome的javascript控制台也没有错误。任何人都可以帮助我完成这项工作或为我指明正确的方向吗?

谢谢!

最佳答案

http://jsfiddle.net/UQTY2/119/

不确定您要做什么,但使用 document.getElementById("notesfield").value.length 检查文本长度,但您忘记了小括号

<!DOCTYPE html>
<HEAD>
<TITLE>Cool Text Form</TITLE>
</HEAD>
<script language="javascript" type="text/javascript">
function newline()
{
    x = document.getElementById("notesfield").value.length;
    if (x >= 40)
    {
        document.getElementById("notesfield").rows="2";
        document.getElementById("notesfield").maxlength="80";
    }
}
</script>
<textarea id="notesfield" maxlength="40" rows="1" onkeyup="newline()" class="notes">Notes go here.</textarea>

关于javascript - 一旦达到 "textarea"就更改 "maxlength"行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16875538/

相关文章:

javascript - 使用 MVC 以可重用的方式将客户端逻辑与服务器端逻辑分开

Javascript 更改 <ul> 的特定 <li> 的颜色

javascript - 在开发中期使用 Bootstrap

javascript - jquery 小部件中的对象仅表现为一个实例

javascript - 在浏览器中打开 URL 时 react 滚动到 anchor

javascript - 如何保持 Google Drive 侧边栏可用的持久服务器端数据?

javascript - 无法设置 null 的属性 'innerHTML' 为什么我会收到此错误

javascript - Bootstrap 验证器表单问题

javascript - 从 CKEditor 4.1 开始,如果没有工具栏插件,execCommand 将无法工作

javascript - 如何使用javascript从html中获取数组?