你必須線功能的事件
onpaste,和的onkeyup爲聚焦狀態,你想要做這個動作的區域。
對於一個asp文本框,我認爲你必須考慮只有OnTextChanged事件。
對於textarea的
<INPUT id="counterMessage" readOnly size="3" value="250" name="counterMessage">
<TEXTAREA onpaste="PasteCounter(this.form.txtAreaMessage,this.form.counterMessage,250);"
id="txtAreaMessage" onkeyup="textCounter(this.form.txtAreaMessage,this.form.counterMessage,250);"
style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; OVERFLOW: hidden; BORDER-LEFT: 0px; WIDTH: 99%; BORDER-BOTTOM: 0px; HEIGHT: 95px; TEXT-ALIGN: justify"
onfocus="textCounter(this.form.txtAreaMessage,this.form.counterMessage,250);" name="txtAreaMessage"
rows="3" runat="server"></TEXTAREA>
function PasteCounter(field, countfield, maxlimit)
{
var len;
var txt = clipboardData.getData("Text");
txt = field.value + txt
len = parseInt(txt.length);
if (len > maxlimit)
{
event.returnValue=false;
txt = txt.substring(0, maxlimit);
field.value = txt;
alert("Only " + maxlimit + " characters are allowed");
}
countfield.value = maxlimit - txt.length;
}
function textCounter(field, countfield, maxlimit)
{
if (field.value.length > maxlimit)
{
field.value = field.value.substring(0, maxlimit);
alert("Only " + maxlimit + " characters are allowed");
}
countfield.value = maxlimit - field.value.length;
}
的countfield文本框是用於示出剩餘的字符。
這似乎是這個問題的副本http://stackoverflow.com/questions/1334286/specifying-maxlength-for-multiline-textbox/1334343#1334343 – 2009-09-08 19:43:07
除了該問題的答案只適用於IE瀏覽器 - 是有點醜 - 並不適用於右鍵單擊複製/粘貼或拖放。 – gnarf 2009-09-08 21:21:22