11550 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

Je me suis lancé dans une application qui doit me permettre de comparer des fiches entre elles.

Fonctionnement :
.. L'application récupère une fiche que j'appelle alors "FICHE DE REFERENCE" (nom, prénom, adresse,tel.etc.).
.. Puis la compare aux autres fiches.
.. Quand il y a une fiche qui fait doublon (sur le nom par exemple), les deux fiches sont affichées.
Jusque là, je m'en sort (sous php et sql).

Objectif :
Je veux fusionner les fiches (== déplacer une valeur d'une fiche à l'autre). Par exemple, si le numéro de tel n'est présent que sur le doublon, je l'envoi, d'un clic sur la "FICHE de REFERENCE"..

[...]

Le DOM dans tout ça ?

Bon eh bien, pour faire court :
J'en vien à écrire une fonction "integre(balise){}" qui ressemble à ceci :
function integre(balise){
// ligne 1
var nom = balise.parentNode.nextSibling.firstChild.name;
// ligne 2
var valeur = balise.parentNode.nextSibling.firstChild.value;
// ligne 3
document.forms["enr1"].nom.value = valeur;
}

Mais là ça coince...
car, à la ligne 3, il y a un truc qui n'est pas bon dans mon code :
"document.forms["enr1"].nom" fait référence à une balise input dont l'attribut "name" prend la valeur "nom" ....
Alors que ce que j'attends, moi, c'est que
"document.forms["enr1"].nom" devrait faire référence à une balise input dont l'attribut "name" prend la valeur de la variable "nom" definie en ligne 1...
Bonjour,

Le plus simple est encore d'utiliser id au lieu de name... un getElementById(nom) marchera parfaitement (de mémoire, getElementsByName n'estt pas supportée par IE).
Modifié par Gilles (15 Dec 2009 - 07:22)
Salut,

J'ai pas vraiment compris la totalité de ton explication, mais pour ton problème de document.forms["enr1"].nom, tu peux utiliser document.forms["enr1"][nom]
Modifié par marcv (16 Dec 2009 - 10:35)