2010-10-27 3 views
1

J'ai ce que j'espère être un problème simple à résoudre.Objet Erreur attendue dans IE7 - problème avec la portée de la fonction?

Fondamentalement, j'ai un bloc de javascript contenant la fonction, puis j'essaie de l'appeler à partir d'un autre bloc de javascript (dans une fonction jQuery $ (document) .ready). Bien que cela fonctionne correctement sur Firefox, j'obtiens une erreur "Object Expected" dans IE7. C'est probablement quelque chose à voir avec la portée, mais je ne suis pas sûr de ce qu'il faut réparer. Firebug ne semble pas éclairer le sujet.

Donc, voici ma fonction:

<script type="text/javascript"> 
    //<![CDATA[ 
    function onsite_validate(){ 
      $("#tsp_onsite_form").validate({ 
       errorClass: "form_error", 
       errorElement: "em", 
       errorPlacement: function(error, element) { 
        error.prependTo(element.parent("label")); 
       }, 
       highlight: function(element, errorClass) { 
        $(element).addClass(errorClass); 
       }, 
       unhighlight: function(element, errorClass) { 
        $(element).removeClass(errorClass); 
       }, 
       rules: { 
        fault_found: "required" 
       }, 
       messages: { 
        fault_found: "was a fault found?" 
       }, 
       submitHandler: function(form) { 
        $.blockUI(); 
        form.submit(); 

       } //ends submit handler  

      }); 
     } 
//]]> 
</script> 

et après cela, je donne les résultats suivants:

<script type="text/javascript"> 
//<![CDATA[ 
$(document).ready(function() { 
     onsite_validate(); 
}); 
//]]> 
</script> 

L'erreur 'objet attendu' jette sur l'appel onsite_validate();

Je suis sûr que je commets une erreur fondamentale - je n'arrive pas à le voir!

Un grand merci

+0

pas familier avec la fonction de validation ou bien jQuery, mais je l'ai trouvé dans beaucoup de travail prototype que IE a souvent besoin JavaScript (en particulier des choses DOM) à inited sur window.load et pas prêt pour le document – robjmills

+0

Avez-vous utilisé la dernière version de jquery? Sinon, merci de l'utiliser. –

Répondre

0

J'ai eu cette erreur en essayant de charger le même fichier javascript deux fois (dans les modèles imbriqués). C'était difficile à identifier parce que le problème est survenu ailleurs dans le flux. Ce que je dis est que l'erreur n'est pas nécessairement avec cette fonction ou même ce bloc de code.

0

Cela ressemble à une référence nulle dans l'une de ces fonctions de rappel. Juste pour le débogage, vous pouvez essayer de vérifier chacun des objets par rapport à null et de lancer une alerte si nécessaire pour déterminer quel objet n'est pas défini.

Par exemple, vérifiez ces objets:
element.parent
erreur
$ (élément)

1

Quel type d'objet est error dans errorPlacement? Pas tout à fait sûr si elle est passée en tant qu'instance de jQuery, mais si ce n'est pas le cas, vous devrez peut-être contourner ce problème. Edit: juste réalisé que vous avez dit qu'il fonctionne en non-IE. Je me souviens d'avoir cette erreur dans IE7 seulement, et d'avoir à patcher la source jQuery pour le gérer. Quelle version de jQuery utilisez-vous et l'hébergez vous-même ou utilisez-vous quelque chose comme GoogleAPI? Aussi, pouvez-vous fournir l'erreur exacte (fichier, ligne, etc)?

0

Dans IIS

Click on your website[LHS]=>Authentication[**Features View on RHS**]=>Enable only Anonymous authentication other should be disabled and click on edit, set Specific user to **IUSR** instead of [IUSR_Servernname] and No password is required 
Questions connexes