2012-03-10 12 views
8

Ho il seguente script all'interno del mio asp.net MVC: -errore di runtime Microsoft JScript: Impossibile ottenere il valore della proprietà 'defaultView': oggetto è null o undefined

function deleteconfirmation() { 

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

} 

ma quando viene eseguito lo restituirà il seguente errore "Errore di runtime di Microsoft JScript: impossibile ottenere il valore della proprietà 'defaultView': oggetto è nullo o indefinito" su if(!(e=a.ownerDocument.defaultView)) all'interno di jquery-1.6.2.min.js. Suggerimento: - questo errore si verifica solo se sto usando IE, non si verificherà se sto usando chrome o firefox !!!! Quindi cosa potrebbe causare questo? BR

+0

Quale versione se IE? –

risposta

1

L'errore è causato dal tuo $(this) che non si riferisce a nulla, o il window object piuttosto. Dipende da come viene chiamata la tua funzione. E 'meglio passare l'elemento che si desidera utilizzare nella funzione deleteConfirmation() in questo modo:

$("#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(); }); 
    }); 
} 

Vai a questa jsfiddle per un esempio.

Se si sta provando a fadeOut la casella di avviso stessa, che viene eseguita per impostazione predefinita, come si potrebbe già sapere.

-1

Penso che tu abbia dimenticato di aggiungere il riferimento della libreria jQuery. Si prega di controllare questo e aggiungere al jQuery Reference

L'altra possibilità è dimenticare di aggiungere il riferimento di jAlert nella pagina in cui si sta utilizzando.

Problemi correlati