11548 sujets

JavaScript, DOM et API Web HTML5

Salut,

Le sujet n'est pas clair, mais c'était impossible à résumer en quelques mots...

Je me demande s'il est possbile de récupérer un form qui est dans un div, genre document.getElementById('monDiv').forms[0] car ça n'a l'air de marcher que pour l'objet document ?
En fait je voudrais ne pas être dépendant de l'id du form car je fais un script qui doit être réutilisé (seul l'id du div ne change pas).

Admettons que ce form doit avoir un id, comment peut-on le récupérer de manière relative au div et non absolue (par le document), c'est à dire existe-t-il (de manière générale) quelque chose du style mondiv.getUnObjetDansMonDiv('nomObjet') ?

Merci.
Modifié par jeyce (02 Mar 2007 - 15:48)
Merci, ça répond très bien à ma première question.
Par contre pour la seconde (récupérer un objet par son id, de manière relative), ça existe ?

PS : pour les "résolus", un des sujet est encore en cours, l'autre n'a pas de solution qui fonctionne...
jeyce a écrit :
Merci, ça répond très bien à ma première question.
Par contre pour la seconde (récupérer un objet par son id, de manière relative), ça existe ?
La méthode getElementById n'existe que sur le document. Ceci dit, un id est unique par définition.

Si tu veux tout de même récupérer un élément d'un id donné à condition qu'il soit dans un autre élément, tu peux peut-être feinter :
function getElementById(parent, id) {
  var el = document.getElementById(id);
  for (var n = el; n; n = n.parentNode) {
    if (n == parent) {
      return el;
    }
  }

  return null;
}

jeyce a écrit :
PS : pour les "résolus", un des sujet est encore en cours, l'autre n'a pas de solution qui fonctionne...
OK. Smiley smile