2010-01-26 165 views
4

这是一个古老的问题,但我仍然遇到麻烦。你看,我试图将一些Excel数据粘贴到文本区域,但这样做的愚蠢浏览器冻结很长一段时间,因为上帝知道 - 他们做了什么“智能”解析。我无法摆脱这种情况(文件上传不可行,我的老板希望我在Excel文本区域粘贴行)。复制粘贴在JavaScript

好消息是粘贴在标准文本框中。但我不能强迫他们粘贴在那里。所以我试图捕捉文本区域中的粘贴事件,然后将文本放到文本框中。不幸的是,我在粘贴部分停了下来。我无法通过JS将文本粘贴到简单的文本框中。

所以我的问题是:你如何粘贴一个文本,你如何通过JS调用它?有一些解决方案只适用于IE,这当然不好, - ::)。

+0

常规文本框速度更快,因为它只保留一行(duh)。 – 2010-01-26 20:23:04

+0

当然是。但它仍然可以粘贴Excel数据,并由制表符分隔。 – Axonn 2010-01-26 21:19:11

回答

1

对不起,没有完全理解。难道你不能附加到0x09的onpaste事件(至少我知道IE有这样的事件),然后简单地将textarea的值设置为粘贴值?

pastedContent = window.clipboardData.getData("Text"); 
    document.getElementById("yourtextarea").value = pastedContent; 

编辑:好的,这似乎是在IE和newer versions of FF这只是工作,但它不是一个跨浏览器的解决方案。

+0

这是一个IE,唯一的解决办法:: - ( – Axonn 2010-01-26 20:22:29

0

我不能当你说“简单的文本框”,你的意思<input type="text">通过JS文本粘贴到文本框简单

?如果是这样,那么我认为将其value属性设置为从<textarea>中捕获的文本应该可以工作。

+0

因为据我所知,这个问题正赶上“粘贴”事件在一个跨浏览器的方式 – naivists 2010-01-26 20:28:20

+0

我能赶上粘贴事件,但不能粘贴的数据有。一些命令,如将execCommand但他们只在IE浏览器 – Axonn 2010-01-26 21:25:47

+0

啊怎么样:。1.我们在''