文本框内容的长度仅在应该更多时返回1

时间:2013-08-19 20:56:28

标签: javascript jquery

我有一个文本框,我在jquery中查看是否长度小于11个字符。在测试中,我输入了10个字符,但长度方法只返回一个。

这是我的文本框:

<input type="text" id="txtMyText" name="myText" value="testing" onblur = "chkInput()"/>

当我退出此框但未按预期工作时,我的函数chkInput被调用。所以我插入了一个带有length属性的警报:

alert("Text " + $("#txtMyText").length);

警告显示长度= 1.

4 个答案:

答案 0 :(得分:3)

您需要textarea element的文本的长度

alert('Text ' + $('#txtMyText').val().length);

答案 1 :(得分:0)

你想:

alert("Text " + $("#txtMyText").val().length);

这将为您提供存储在文本框中的值 。您的代码告诉您jQuery选择的元素数量,即一个。

答案 2 :(得分:0)

您的Jquery选择器返回一个包含一个成员的数组 - 而不是您可以使用.length on的字符串。获取DOM节点的 val 属性的长度。

答案 3 :(得分:0)

嗯,那是因为,你做错了。你离我很近。首先,您必须获得value,然后您必须尝试获取该值的length

<强> HTML“

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <input type="text" id="txtMyText" name="myText" value="testing12345" onblur = "chkInput()"/>
</body>
</html>

<强> JS:

alert("Text :::" + $("#txtMyText").val().length);

请参阅此处的工作示例:http://jsbin.com/AtOJiyi/1/edit

请记住run with js