Javascript + XHTML : problème DOM - HTML/CSS - Programmation
Marsh Posté le 03-05-2005 à 13:46:17
Ah oui, j'ai mis DOM dans le sujet
En fait je pensais vu que ça ne marchait pas à utiliser les fonctions DOM mais le problème c'est que je n'ai pas trouver comment remplir de texte un node ?
newpara = document.createElement('p');
Voilà ce que j'ai pour l'instant
Marsh Posté le 03-05-2005 à 13:46:42
Ben ouais . T'as mis l'affectation de la fonction ChangerList DANS la fontion ChangerList, faut la mettre après
Marsh Posté le 03-05-2005 à 13:55:15
faut utiliser window.onload pour charger ton script, sinon le script se charge et tente de s'exécuter avant que la page ne soit créée et ça peut pas marcher
Marsh Posté le 03-05-2005 à 14:07:16
Aussi faut faire attention a la casse.
En effet, onChange n'est pas la meme chose que onchange. Et les evenements sont en minuscules, donc la tu as cree une propriete au lieu d'affecter une valeur a une deja existente.
Marsh Posté le 03-05-2005 à 19:33:59
FlorentG a écrit : Ben ouais . T'as mis l'affectation de la fonction ChangerList DANS la fontion ChangerList, faut la mettre après |
Oups, petite erreur de copier coller, en effet elle est après, je corrige ça
masklinn a écrit : faut utiliser window.onload pour charger ton script, sinon le script se charge et tente de s'exécuter avant que la page ne soit créée et ça peut pas marcher |
Comment ça je ne comprend pas, je met pas window.onload = ChargerScript; quand même ?
cerel a écrit : Aussi faut faire attention a la casse. |
Je vais essayer
Marsh Posté le 03-05-2005 à 19:39:49
Alors pour la casse, ça n'a pas l'air de changer, j'ai changé <script ... /> par <script ... ></script> maintenant IE m'affiche ma page mais le script marche pas.
Marsh Posté le 03-05-2005 à 20:14:40
Alors j'ai fait qq modifications, ça marche sur IE et sous Firefox ça efface tout mon paragraphe à chaque changement.
En fait j'ai l'impression que List n'était pas connu dans la fonction, je pensais que j'avais déclaré globalement List mais en fait ça marche pas comme ça en JS.
Du coup ça ressemble à ça :
Code :
|
Marsh Posté le 03-05-2005 à 23:52:40
Comme l'a dit Masklinn, faut mettre l'affectation du onchange dans le onload :
function changerList() { |
Marsh Posté le 04-05-2005 à 21:43:57
Merci en effet ça marche, suffit juste de rajouter un e au nom de la fonction ou le virer lors de l'affectation
Cependant ça ne marche que sur IE, sur firefox il me vide mon p et ne me met rien à la place, il y a pas un problème qq part ?
Marsh Posté le 04-05-2005 à 21:51:51
En renommant ma page de .xhtml en .html ça marche
Voir cette page pour l'info du bug de firefox : http://www.quirksmode.org/dom/test [...] test.xhtml
Marsh Posté le 05-05-2005 à 12:13:10
Je@nb a écrit : En renommant ma page de .xhtml en .html ça marche |
Moi je ne vois pas ça comme un bug... Un truc genre innerHTML dans des pages XHTML (donc XML), c'est un peu naze
Marsh Posté le 05-05-2005 à 12:24:04
FlorentG a écrit : Moi je ne vois pas ça comme un bug... Un truc genre innerHTML dans des pages XHTML (donc XML), c'est un peu naze |
http://annevankesteren.nl/archives/2005/05/innerhtml
Marsh Posté le 05-05-2005 à 12:36:40
Ca me plaît quand-même pas Déjà je vois pas la différence entre setContent... Ensuite faudrait rebaptiser en innerXML...
Marsh Posté le 05-05-2005 à 12:38:03
FlorentG a écrit : Ca me plaît quand-même pas Déjà je vois pas la différence entre setContent... Ensuite faudrait rebaptiser en innerXML... |
Ca dépend de la manière dont c'est implémenté, et il faut bien se rendre compte que le gain de vitesse entre DOM et innerHTML est d'un rapport 10
Marsh Posté le 05-05-2005 à 12:41:09
masklinn a écrit : |
Héhé c'est sûr. Bon en fait, après vérification, un setContent va escaper tout ce qui est < ou > en < etc.
Marsh Posté le 05-05-2005 à 19:22:48
Faut utiliser des méthodes genre createElement, setContent et appendChild
Marsh Posté le 03-05-2005 à 13:45:18
Salut,
J'essaie de me faire un petit script pour améliorer mes capacités en JS et tout particulièrement j'essaie de bien faire séparation structure comportement.
Ce que je veux faire est tout con : j'ai un select avec diverses options et un paragraphe. Je veux que lorsque on change l'élément dans la liste, ça affiche la valeur de l'option dans le paragraphe.
Voici ce que j'ai fait :
Mon script.js comporte ça :
Cependant rien ne marche, la console JS de Firefox ne me dit rien, IE me dit blabla activex, contenu à risque et qd je lui dit oui qd même j'ai une page blanche. Sous firefox j'ai bien la page mais rien comme action.
J'ai loupé qqch ?
Message édité par Je@nb le 03-05-2005 à 19:35:21