Internet Explorer中asp.net文本框上的onpaste事件无法正常工作

时间:2017-04-13 11:33:37

标签: javascript jquery asp.net copy-paste

这是我的文本框:

<asp:TextBox ID="txtBoxFlagDes" TextMode="MultiLine" runat="server" MaxLength="30" Width="150px" onkeypress="return this.value.length<=30"></asp:TextBox>

这是脚本:

<script src="../Scripts/jquery-3.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#txtBoxFlagDes").on("input", function () {
            LimtCharacters(this, 30);
        });
    });
    function LimtCharacters(txtMsg, CharLength) {
        chars = txtMsg.value.length;
        if (chars > CharLength) {
            txtMsg.value = txtMsg.value.substring(0, CharLength);                
        }
    }
</script>

当用户复制一些文本并粘贴到文本框中时,它会从剪贴板中获取整个文本,简而言之,脚本无效。没有得到问题

2 个答案:

答案 0 :(得分:0)

根据Browser's compatibility of input event,它不支持 IE&lt; 9

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="selector">
    <div class="get-values">

      <input type="text" value="" class="getvalue">
      <select class="control">
          <option value="">select</option>
          <option value="0">Binary</option>
          <option value="1">Alpha</option>
          <option value="2">AlphaNumeric</option>
          <option value="3">Numeric</option>
      </select>
      <input type="button" value="getcode" class="getcode" onclick="getcodes()">
      <input type="text" value="" class="disabled" disabled>
    </div>
</div>

答案 1 :(得分:0)

您的脚本正在检查用户输入或按键事件。但是当复制的文本粘贴到测试框中时,此事件不会触发。显然,在这种情况下,你的scipt将不起作用。

可能在文本框中的文本之后,您可以在失去焦点时验证该文本。

希望这有帮助。