微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IE11 将文本字符串粘贴到文本框中

如何解决IE11 将文本字符串粘贴到文本框中

知道为什么 IE11 不允许我将字符串块粘贴到页面表单的文本框中吗?我尝试过 Edge 和 Chrome,没有问题。

例如,如果我从文本文件或 Excel 中复制多个格式化为列的字符串,并尝试将其粘贴到 IE11 中表单上的文本字段,则只会粘贴第一个字符串。另一方面,所有字符串都被粘贴到 Edge 或 Chrome 中。

我正在尝试复制此文本:

enter image description here

当粘贴到 IE11 时,我会得到这个:

enter image description here

但是当我将它粘贴到 Edge 或 Chrome 中时,我得到了这个:

enter image description here

不知道 IE11 中是否有一些必须更改的设置?

解决方法

这似乎是 Internet Explorer 浏览器中的一个已知问题。

当您尝试从 Excel 复制列时,其中包含换行符。输入类型文本不支持换行符,IE 浏览器将其删除。由于这个原因,全文不会被解析,它只粘贴第一个字符串。

有一些解决方法可以解决 IE 浏览器的这个问题。

  1. 您可以尝试使用 Textarea 而不是 Input textbox
  2. 您可以尝试使用一些 JS/Jquery 代码将所有换行符替换为空格。

示例:

Jquery 代码:

$(document).ready(function(){
if (window.clipboardData) {
        $('#txt1').bind('paste',function (e) {
            var clipped = window.clipboardData.getData('Text');
            clipped = clipped.replace(/(\r\n|\n|\r)/gm," "); //replace newlines with spaces
            $(this).val(clipped);
            return false; //cancel the pasting event
        });
    }
}); 

HTML 代码:

<label for="txt1">Enter text:</label>
<input type="text" id="txt1" name="txt1" style="width:200px"><br><br>

IE 11 中的输出:

enter image description here

参考文献:

  1. Allow pasting multiple lines in IE textbox
  2. Copy-Paste from MS Excel fails with IE but works with Firefox

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。