2010-12-13 99 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