11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde,

Je viens vers vous avec un soucis en JS...

Dans l'une de mes applications, j'ai créer un petit système de popin très simple qui se contente d'ouvrir un div au centre de la fenêtre et qui va récupérer le contenu via Ajax.

Tout ceci fonctionne très bien.

Là ou les problèmes commencent, c'est que le contenu en question est en fait un formulaire qu'une page php génère à la volé et renvoi tel quel. La fonction Ajax récupérant la chaine générée par le code php (le formulaire donc) et la plaçant dans le innerHTML de ma popin (un div)

Le soucis, c'est que quand je tente de "submiter" ce formulaire, (avec un document.monform.submit()) il n'existe tout simplement pas dans l'arbre DOM... le fait d'avoir utiliser innerHTML faisant certainement que Javascript n'interprète pas les balises retournées, seul l'interpréteur HTML passe dessus.

Je pourais éventuelement retourner non pas le formulaire pas la liste des champs sous form de fichiers XML puis faire en sorte que ma fonction Ajax fasse des "createElement" et ca fonctionnerait, seulement j'aimerai bien que cette popin soit générique (je vais avoir une palanquée de fenêtre "filles" à gérer comme ca)...alors si quelqu'un avait une autre solution (genre une sorte de parseur à lance sur la chaine retourner par le php pour attacher les balises trouvées à l'arbre DOM par exemple...)

Merci de vos avis et aides.

Cordialement
Pour faire très très simple, tu peux éventuellement mettre ton "document.monform.submit()" dans une fonction que tu appellera une fois le résultat du Ajax chargé. De cette manière, ton DOM sera à jour, et donc la fonction submit() marchera sur ce qui a été ajouté.