2010-12-13 44 views
0
<asp:TextBox ID="txtPurpose" CssClass="dd" runat="server" MaxLength="500" OnKeyUp="return maxlength();" OnPaste="return maxlength();" TextMode="MultiLine" 
           Width="70%" Rows="4" ValidationGroup="tool"></asp:TextBox> 

在JavaScriptMAXLENGTH检查

function maxlength() 
     { 

      var max = 500; 
      if ($('.dd').focus().val().length > max) 
      { 
       $('.dd').val($('.dd').val().substr(0, max)); 
      } 
      $('.charsRemaining').html('You have ' + (max - $('.dd').val().length) + ' characters remaining'); 
     } 

它工作正常,但复制的东西时,用鼠标右键单击$粘贴在文本区域(“DD”)。重点( ).val()将作为空字符串来使用。该怎么办

回答

0

我相信这个问题是剪贴板的内容没有被转移到文本框中捕获事件。

以下应该有所帮助:

event.returnValue = false; 
    var clipString = window.clipboardData.getData("Text", sNewString); 

更多信息,请参见Microsoft OnPaste event

但是,要小心onpaste事件。

http://reference.sitepoint.com/html/extended-event-attributes/onpaste

它通过 微软用于上网 Explorer中定义一个非标准的事件。它可能在某些其他 浏览器中工作,但无法可靠地使用。 未测试此非标准 属性的兼容性。

+0

是否存在针对此问题的任何跨浏览器修复程序上述一项仅在IE中工作,如您所述 – Mac 2010-12-13 15:20:00