2015-01-02 12 views
5

Dzięki pomocy innego członka pomyślnie zastosowałem metodę JS, która ma możliwość wklejenia danych Excela i podzielenia go na HTML formularz tabeli tekstowej (see thread)."Nie można uzyskać właściwości" getData "o niezdefiniowanym lub zerowym odwołaniu" w IE, ale nie Chrome

Kwestia, że ​​jestem teraz w obliczu jest to, że działa tylko w Chrome, a IE10 i IE11 zarówno flag następujący błąd:

„Nie można uzyskać własności«getData»o nieokreślonej lub zerowym odniesienia. "

Ten błąd jest generowany w 2. linii funkcji (poniżej):

function (event) { 
    var input_id = $(this).attr("id"); 
    var value = event.originalEvent.clipboardData.getData('text/plain'); //ERROR in IE 
    /* ... */ 
    event.preventDefault(); // prevent the original paste 
} 

Zastanawiasz się, czy ktoś widzi problem w parze z dlaczego Chrome jest spełniony, gdy IE nie jest.

+0

To pytanie rzeczywiście rozwiązać mój problem: http://stackoverflow.com/questions/6035071/intercept-paste-event-in-javascript Dziękujemy za pomoc! – pj2452

Odpowiedz

3

In IE, it should be:

var value = event.originalEvent.clipboardData.getData("Text"); 
+0

Dziękuję. Czy to działa w Chrome? Zastanawiasz się, jak mogę to zrobić dla obu przeglądarek. – pj2452

+0

Możesz spróbować dodać sprawdzanie poprawności przeglądarki, jeśli nie –

+0

Przepraszam, ale jak to zrobić? – pj2452

4

Odpowiedź znaleźć tutaj: Intercept paste event in Javascript

Ten pracował dla mnie.

if (window.clipboardData && window.clipboardData.getData) { // IE 
    pastedText = window.clipboardData.getData('Text'); 
} 
else if (event.originalEvent.clipboardData && event.originalEvent.clipboardData.getData) { // other browsers 
    pastedText = event.originalEvent.clipboardData.getData('text/plain'); 
} 
+0

To właściwie jest poprawna odpowiedź na to pytanie, dzięki pj2452, wygląda na to, że clipboardData z obsługi zdarzeń ma wartość zerową dla przeglądarki Internet Explorer. – Leo

Powiązane problemy