2010-01-26 3 views
4

Это вековой вопрос, но у меня все еще есть проблемы с ним. Понимаете, я пытаюсь вставить некоторые данные Excel в текстовую область, но глупые браузеры замерзают в течение длительного периода времени, когда делают это, из-за бог-знает - какой «умный» синтаксический анализ они делают. Я не могу избавиться от этого (загрузка файла не может быть и речи, мой босс хочет, чтобы я вставлял строки из Excel в текстовую область).Копирование пасты В JavaScript

Хорошей новостью является то, что вставка в стандартное текстовое поле РАБОТАЕТ. Но я не могу заставить их вставлять туда. Поэтому я пытаюсь поймать событие вставки в текстовой области, а затем передать текст в текстовое поле. К сожалению, я остановился на вставной части. Я не могу вставить текст через JS в простое текстовое поле.

Так что мой вопрос: как вы вставляете текст, как вы его вызываете через JS? Есть некоторые решения, которые работают только в IE, это нехорошо, конечно :: -).

+0

Обычный текстовый ящик быстрее, потому что он содержит только одну строку (duh). –

+0

Duh, конечно. Но он все еще вставляет данные Excel в порядке, разделенные вкладкой. – Axonn

ответ

1

Извините, не совсем понял эту идею. Не можете ли вы присоединить к событию onpaste thextarea (по крайней мере, я знаю, что IE имеет такое событие), а затем просто установите значение textarea в вставленное значение?

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

EDIT: Хорошо, похоже, это работает только в IE и newer versions of FF, но это не является решением проблемы кросс-браузер.

+0

Это решение только для IE :: - ( – Axonn

0

Я не могу вставить текст с помощью JS в простое текстовое поле

Когда вы говорите, «простое текстовое поле», вы имеете в виду <input type="text">? Если это так, то я думаю, что установка его атрибута value на текст, который вы захватили с <textarea>, должна работать.

+0

, насколько я понимаю, проблема заключается в том, чтобы поймать событие «вставить» в кросс-браузерном режиме. – naivists

+0

Я могу поймать событие вставки, но не вставленные данные. некоторые команды, такие как ExecCommand, но они работают только в IE. – Axonn

+0

Ah. Как насчет: 1. Пусть событие вставки завершено в '