【发布时间】:2010-10-02 12:26:23
【问题描述】:
我有一个 JSP 页面,其中包含一段 Javascript 验证代码,它限制了提交时的一定数量的字符。我使用的是<textarea>,所以我不能简单地使用<input type="text"> 中的长度属性。
我使用document.getElementById("text").value.length 来获取字符串长度。我在 Windows 上运行 Firefox 3.0(但我也用 IE 6 测试了这种行为)。表单被提交到 J2EE servlet。在我的 Java servlet 中,参数的字符串长度大于 2000!
我注意到这可以通过在<textarea> 中添加回车轻松重现。我使用 Firebug 来断言 <textare> 的长度,它确实是 2000 个字符长。但是在 Java 方面,回车符被转换为 UNIX 样式(\r\n,而不是 \n),因此字符串长度不同!
我在这里遗漏了什么明显的东西还是什么?如果没有,您将如何可靠地(跨平台/浏览器)确保 <textarea> 受到限制。
【问题讨论】:
-
@François:始终将事物括在反引号中的标签括号中(例如,将它们格式化为代码),否则它们将在您的问题显示时被删除。
-
刚刚偶然发现了这种情况。你的话题让我很开心,先生!非常感谢!
标签: java javascript string carriage-return