2009-09-03 3 views
0

J'ai commencé à travailler sur mon premier échantillon du contrôle dijit.Tree.Dojo - Certains de mes form.dijit semblent être morts/inactifs sur une page

Lorsque cela n'a pas fonctionné, j'ai ajouté quelques dijit.form.Textbox'es à l'écran, et ils ne fonctionnaient pas non plus, même si je les ai bien fonctionné sur une forme similaire. Ce qui est intéressant, quand j'ai tué FireFox et l'ai redémarré, j'ai reçu un message clair dans la console de FireBug sur ce qui n'allait pas avec mon contrôle d'arbre, et je l'ai corrigé.

Mais maintenant je suis plutôt perplexe alors que les dijits simples comme NumberTextBox que j'ai ajouté ne fonctionnent pas.

Mes échantillons: 1) http://3wcloud-com-provisioning-qa.appspot.com/testDijitDate - Cela fonctionne très bien (à l'exception de la valeur de la date initiale ne montre pas - j'ai une autre question ouverte sur ce) 2) http://3wcloud-com-provisioning-qa.appspot.com/testDijitTree

Je l'ai fait plusieurs "diff" s sur les deux fichiers, et j'ai la gentillesse de trouver la différence qui ferait que l'un fonctionne et l'autre ne fonctionne pas.

Merci, Neal

Répondre

0

Vous devez mettre vos relevés dojo.require immédiatement dans un bloc de script, pas enveloppé dans le rappel onload. En outre, vos balises d'entrée doivent être de style HTML sans la barre de style XHTML (vous n'avez pas déclaré XHTML dans votre document) bien que je doute que ce soit le problème. Voyez si l'une de ces choses aide.

+0

J'ai changé les entrées - même résultat. – NealWalters

+0

Je pense que vous avez tort sur le dojo.require. Comme: O'Reilly Dojo book - "Parce que les instructions dojo.require agissent de manière asynchrone sur les charges XDomain, il n'est pas forcément sûr d'utiliser immédiatement les ressources que vous avez demandées ... appelées" condition de concurrence ". habitude d'entrer car cela rend vos pages aussi portables que possible - que XDomain soit ou non chargé. " – NealWalters

+0

right ... Je pense que le livre suggère que tout ce qui utilise le code chargé par le dojo.require doit être dans le addOnLoad, puisque le chargement dans le dojo.require() lui-même est asynch. En fait, votre callback addOnLoad n'est pas strictement défini pour s'exécuter avant l'analyseur, qui est lui-même dans la file d'attente de Dojo, mais je pense que la file d'attente est LIFO, donc vous avez de la chance :) De toute façon, ça ne semble pas ton problème. Désolé, je ne vois rien d'autre d'évident. Je vais essayer de creuser plus si je peux. – peller

Questions connexes