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

JavaScriptでMAXLENGTHチェック

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で使用するため Microsoftが定義されている非標準のイベント。他の一部のブラウザでは動作する可能性がありますが、信頼性の高い使用はできません。 この非標準の 属性に対する互換性はテストされていません。

+0

この問題のクロスブラウザ修正がありますか上記のものはあなたが言及したようにIEでのみ動作します – Mac

関連する問題