Javascript代码
- function SetTextAreaMaxLength(controlId,length)
- {
- // JScript File for TextArea
- // Keep user from entering more than maxLength characters
- function doKeypress(control,length){
- maxLength = length;
- value = control.value;
- if(maxLength && value.length > maxLength-1){
- event.returnValue = false;
- maxLength = parseInt(maxLength);
- }
- }
- // Cancel default behavior
- function doBeforePaste(control,length){
- maxLength = length;
- if(maxLength)
- {
- event.returnValue = false;
- }
- }
- // Cancel default behavior and create a new paste routine
- function doPaste(control,length){
- maxLength = length;
- value = control.value;
- if(maxLength){
- event.returnValue = false;
- maxLength = parseInt(maxLength);
- var oTR = control.document.selection.createRange();
- var iInsertLength = maxLength - value.length + oTR.text.length;
- var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
- oTR.text = sData;
- }
- }
- function doDragenter(control,length)
- {
- maxLength = length;
- value = control.value;
- if(maxLength){
- event.returnValue = false;
- }
- }
- function addEvent(elm, evType, fn, useCapture)
- {
- if (elm.addEventListener)
- {
- elm.addEventListener(evType, fn, useCapture);
- return true;
- }
- else if (elm.attachEvent)
- {
- var r = elm.attachEvent('on' + evType, fn);
- return r;
- }
- else {
- elm['on' + evType] = fn;
- }
- }
- function AttacheventTextAreaBeforePaste(obj,length)
- {
- return function()
- {
- doBeforePaste(obj,length)
- }
- }
- function AttacheventTextAreaPaste(obj,length)
- {
- return function()
- {
- doPaste(obj,length)
- }
- }
- function AttacheventTextAreaKeyPress(obj,length)
- {
- return function()
- {
- doKeypress(obj,length)
- }
- }
- function AttacheventTextAreaDragEnter(obj,length)
- {
- return function()
- {
- doDragenter(obj,length);
- }
- }
- var obj = document.getElementById(controlId);
- addEvent(obj,'keypress',AttacheventTextAreaKeyPress(obj,length),null);
- addEvent(obj,'beforepaste',AttacheventTextAreaBeforePaste(obj,length),null);
- addEvent(obj,'paste',AttacheventTextAreaPaste(obj,length),null);
- addEvent(obj,'dragenter',AttacheventTextAreaDragEnter(obj,length),null);
- }
HTML代码
- <asp:TextBox ID="TextBoxAddress" runat="server" Width="200px"
- TextMode="MultiLine" Height="113px" MaxLength="10"></asp:TextBox>
- <script language="javascript" type="text/javascript">
- SetTextAreaMaxLength('<%=TextBoxAddress.ClientID %>',10);
- </script>
该javascript控制了输入,粘贴,拖放操作