删除var的内容仍然失败

时间:2016-02-03 19:42:13

标签: javascript

今天我提出了一个问题,我试图就javascript的专家提出一些建议,但是我的代码仍然失败了。我将尝试提供更多信息,以解决我的问题。我是javascript的新手,我完全相信这对某些人来说是件小事。这是我的代码问题。我将尝试尽快提供所有信息。

我在这个textarea中有这个jsp:

<form:textarea id="textEnv"  path="buscadorReferenciaE" onkeyup="comprobarTexto();"
                            cssStyle="vertical-align: middle;  margin-left:1px; width: 263px; height: 220px;" />

在此代码中,您可以看到用户输入字符串,并参与onkeyup:

这是我在javascript上的功能:

function comprobarTexto(){
    var texto = document.getElementById('textEnv').value;
     if (texto.length > 14) {
         texto= "";
     }

}

此功能的目的是当用户达到14个字符时,必须完全删除texfield上的文本,但是尽管有专家建议我的代码仍然失败并且该功能不起作用。这很可能是我的错,但我仍然没有看到如何解决这个问题。我提供了有关我最后一个问题的更多信息:

Removing content of a var

它必须是javascript中的函数,不起作用,不再涉及我的jsp代码。当characthers达到14时,该功能会警告我(现在已被移除,但它有效)我明天会尝试在你的帮助下解决这个问题。一如既往地感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

您必须写入文本字段:

function comprobarTexto(){
  var texto = document.getElementById('textEnv').value;
   if (texto.length > 14) {
     texto= "";
     document.getElementById('textEnv').value = "";
  }
}

将textarea的内容复制到变量并清除变量,但这会使textarea保持不变。所以,也要清除textarea。

答案 1 :(得分:1)

检查您在浏览器中呈现的代码:

 var texto = document.getElementById('textEnv').value;

当您在编辑器中时,这可能是正确的。但是一旦它呈现,该ID就会改变。设置ID以匹配呈现的版本显示的内容。

答案 2 :(得分:1)

问题是您只是保存对当前时间的引用。相反,我建议这样的事情:

function comprobarTexto(){
  var texto = document.getElementById('textEnv');
  var current = texto.value;
   if (current.length > 14) {
     texto.value = "";
  }
}
通过这种方式,您可以定义一次并多次使用它来做各种事情。

希望这有助于您理解!