2010-07-14 5 views
5

J'ai une page qui utilise JQuery pour un appel ajax. Affichage de la page dans Google Chrome montre l'erreur suivante dans la console développeur:Problème JQuery avec Chrome

Uncaught TypeError: Cannot set property 'display' of undefined 

Alors que la même page fonctionne dans Firefox 3.6.6 sans aucune erreur dans la console Firebug.

L'erreur émane d'une ligne j-query-1.4.2 (comme indiqué dans la console chromée)

Toute personne autre face des problèmes similaires? Fondamentalement, j'utilise un DatePicker qui apparaît dans un journal Modal Dailog.

Voici le code:

$(document).ready(function() { 
$("#inputs input[name=dateField]").datepicker(
     { 
      showOn: 'both', 
      dateFormat:'dd/mm/yy HH:II TT', 
      showButtonPanel: true, 
      maxDate: '+0D', 
      buttonImage:'calendar.gif', 
      buttonImageOnly: true, 
     } 
); 
}); 
+2

Veuillez poster votre code ajax. – jantimon

+0

pourriez-vous nous donner n'importe quelle ligne causant cette erreur? c'mon ... –

+0

J'ai certainement frappé quelque chose de similaire, mais cela n'a jamais eu d'effet négatif sur les performances ou les fonctionnalités de ma page. Cela pose-t-il des problèmes majeurs d'ergonomie pour votre site? – virstulte

Répondre

0

Certains navigateurs sont juste pointilleux sur la définition des propriétés des éléments qui, théoriquement, ne les supportent pas. Comme IE n'aime pas configurer la visibilité sur. Je suppose que vous essayez d'attacher jquery avec une mauvaise étiquette. Mais encore - donner un code.

0

Je pense qu'il n'existe pas de champ INPUT nommé "dateField" (pour l'attribut "name"), à l'intérieur de son conteneur parent dont la valeur "id" est "inputs". Ou peut-être que l'élément conteneur parent n'est pas défini avec la valeur de son attribut "id".

Espérons que ça aide.

+0

Non, ils existent tous les deux. –

1

Je vous suggère de commencer à essayer vos lignes de code dans la console de développeur de chrome. Ouvrez les outils de développement sur votre page (donc tout votre code est chargé) et allez dans l'onglet de la console. Tapez/Coller dans la console:

$("#inputs input[name=dateField]") 

Et voir si cela renvoie un objet avec une longueur. Si l'objet retourné n'a que les propriétés "context", "selector" et "__ proto__", jquery n'a rien trouvé. Si elle a aussi une propriété "length", et des propriétés qui sont nommées numbers ("0", "1", etc), alors elle a trouvé quelque chose (ou plusieurs somethings). À partir de là, vous pouvez essayer d'autres codes pour voir ce que Chrome dira.