<SCRIPT LANGUAGE="JavaScript">
<!--
function check()
{
    var val=form1.text1.value.length;
if(val>30)
{
str=form1.text1.value.substring(0,30);
form1.text1.value=str;
}
}
//-->
</SCRIPT>
</HEAD><BODY>
<FORM METHOD=POST name=form1 ACTION="">
<TEXTAREA NAME="text1" ROWS="5" COLS="50" onkeypress="check();"></TEXTAREA>
<INPUT TYPE="button" value="check">
</FORM>

解决方案 »

  1.   

    没有直接的方法,楼上的朋友已写了程序解决。
    当然,你也可写个HTC类,扩展TEXTAREA标记,给它加上一类似“<input type=text>”的属性:maxlength。
      

  2.   

    <textarea rows="4" cols="30" maxlength=2 id=test onkeypress="doKeypress()" onkeydown="doKeydown()" onbeforepaste="doBeforePaste()" onpaste="doPaste()">
    </textarea>
    <script language=javascript>
    element=document.all["test"]
    maxLength = element.maxlength
    function doKeypress(){
    if(!isNaN(maxLength))
    {
    maxLength = parseInt(maxLength)
    var oTR = element.document.selection.createRange()
    if(oTR.text.length >= 1)
    event.returnValue = true
    else if(element.value.length > maxLength-1)
    event.returnValue = false
    }
    }
    function doKeydown(){
    setTimeout(function(){maxLength = parseInt(maxLength);if(!isNaN(maxLength)){if(element.value.length > maxLength-1){var oTR = window.document.selection.createRange();oTR.moveStart("character", -1*(element.value.length-maxLength));oTR.text = ""}}},1)
    }
    function doBeforePaste(){
    if(!isNaN(maxLength))
    event.returnValue = false
    }
    function doPaste(){
    if(!isNaN(maxLength))
    {
    event.returnValue = false
    maxLength = parseInt(maxLength)
    var oTR = element.document.selection.createRange()
    var iInsertLength = maxLength - element.value.length + oTR.text.length
    var sData = window.clipboardData.getData("Text").substr(0, iInsertLength)
    oTR.text = sData;
    }
    }
    </script>
      

  3.   

    如果是对struts的扩展标签如:<html:textarea property="infotext"  value="" rows="3" cols="14"/>的onclick事件编程该怎么写?
      

  4.   

    调用javascript方法怎么写呢?关键是如何引用infotext对象!