Javascript JSP文本区域长度检查问题
我曾尝试使用这里的一些max-length函数,但遇到了一些问题。我曾尝试在用户按下submit按钮时检查表单的长度,但变量中的值在表单提交之前不会更改。以下是相关代码:Javascript JSP文本区域长度检查问题,javascript,jsp,Javascript,Jsp,我曾尝试使用这里的一些max-length函数,但遇到了一些问题。我曾尝试在用户按下submit按钮时检查表单的长度,但变量中的值在表单提交之前不会更改。以下是相关代码: <tr> <td align="left"><b>Comments:</b><br> <form:textarea path="currentProjTask.comments" id="currComments" cols="100" rows="10" /&
<tr>
<td align="left"><b>Comments:</b><br>
<form:textarea path="currentProjTask.comments" id="currComments" cols="100" rows="10" /></td>
</tr>
我尝试了许多不同的方法来检查长度,包括按键功能等,但没有一种方法有效,但没有一种方法会出现任何错误
我提前感谢你的帮助,非常感谢
为清晰起见,请编辑:
我尝试过的函数没有任何作用。例如,如果我添加onkeydown='returnmaxlength(这个是“30”);'到textarea块,以及函数
function maxLength(field,maxChars)
{
if(field.value.length >= maxChars) {
event.returnValue=false;
alert("more than " +maxChars + " chars");
return false;
}
}
这没用。用户仍然可以键入并提交表单
在获取document.getElementById的警报框中(当用户点击submit按钮时),收到的值是加载页面时表单的初始值。用户可以更改文本区域中的值,但警报框中的值始终是框中的初始值
我还应该提到这是一个.jsp页面。好的,这里有一些问题:
不是所有浏览器中的全局变量。您的事件
标记应如下所示:<textarea onkeypress='return checkMaxLength(event, this, 30)'></textarea>
event.returnValue
设置为false
仅在Internet Explorer中有效。在其他浏览器中,必须调用event.preventDefault()
Pointy,我添加了event.preventDefault();我已经过了30岁,但我仍然没有运气。该程序似乎只识别表单提交过程中的更改,但是(由于圣诞节的原因)没有人解释如何更改或为什么更改;当它进入浏览器时,它是HTML。我要做一件事;给我一点时间。。。
<textarea onkeypress='return checkMaxLength(event, this, 30)'></textarea>
event.returnValue = false;
if ('preventDefault' in event) event.preventDefault();