2012-03-10 9 views
8

Mam następujący scenariusz w moim asp.net mvc: -Microsoft JScript Runtime error: Nie można uzyskać wartość właściwości „defaultview”: obiekt jest null lub undefined

function deleteconfirmation() { 

    jAlert('The Answer was deleted succsfully', 'Deletion Confirmation'); 
    $(this).fadeOut('slow', function() { $(this).remove(); }); 

} 

ale gdy jest on wykonywany go zwróci następujący błąd "Błąd środowiska wykonawczego Microsoft JScript: Nie można uzyskać wartości właściwości" defaultView ": obiekt ma wartość null lub undefined" na if(!(e=a.ownerDocument.defaultView)) wewnątrz pliku jquery-1.6.2.min.js. Podpowiedź: - ten błąd wystąpi tylko, jeśli używam IE, nie pojawi się, jeśli używam chrome lub firefox !!!! Co może być przyczyną? BR

+0

Jaką wersję, jeśli IE? –

Odpowiedz

1

Błąd jest spowodowany przez twój $(this) nie odnosząc się do niczego, lub raczej window object. To zależy od tego, jak nazywa się twoja funkcja. Najlepiej zdać element, który ma zostać użyty do funkcji deleteConfirmation() tak:

$("#deleteAnswer").bind("click", function() { 
    deleteConfirmation(this); 
}); 

function deleteConfirmation(element) { 
    jAlert('Deleted succsfully', 'Deletion Confirmation', function() { 
     alert("The user clicked ok"); 

     // Hides the element that caused the click event 
     $(element).fadeOut('slow', function() { $(element).remove(); }); 
    }); 
} 

zobaczyć ten jsfiddle dla przykładu.

Jeśli próbujesz utworzyć domyślne okno alertu, jest ono domyślnie wykonywane, co być może już wiesz.

-1

Myślę, że zapomniałeś dodać referencję biblioteki jQuery. Sprawdź to i dodaj do innej opcji, aby zapomnieć dodać odniesienie do jAlert na stronie, z której korzystasz.

Powiązane problemy