Probleme de syntaxe avec variable

Signaler
Messages postés
5
Date d'inscription
mercredi 2 juillet 2003
Statut
Membre
Dernière intervention
8 juin 2007
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,

je souhaite réaliser un focus automatique sur un champ input au passage de la souris sur un élément,
j'ai donc codé cette petite fonction qui fonctionne :

function focfoc() {
  document.fchat4.linput4.focus();  
}

Par contre lorsque je veux modifier cette fonction pour la rendre réutilisable en plusieurs points elle ne fonctionne plus:

function focfoc(lad,lid) {
  document.lad.lid.focus();  
}

j'imagine que cela vient de la facon dont j'insere les variables mais je ne voit pas bien comment faire autrement. Faut il utiliser des "+" ? des parentheses ?

Ravaza

4 réponses

Messages postés
5
Date d'inscription
mercredi 2 juillet 2003
Statut
Membre
Dernière intervention
8 juin 2007

Je viens de trouver la solution a mon probleme.
Je le laisse ici au cas ou quelqu'un en aurai besoin :

function focfoc(lad,lid) {
  document.lad[lid.focus()];  
}

Je suis cependant preneur d'une explication car j'ai trouvé la solution un peu par hasard en tatonnant.

Ravaza
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

    si on savait ce que sont lad, lid....

    si ce sont les name d'un form et d'un input..
      




function focfoc(lad,lid) { document.lad.lid.focus(); }






   



ça doit fonctionner, si l'appel à cette fonction est correct !

        car l'autre syntaxe ( celle que tu dis qui fonctionne ) ne correspond à rien ;-)



<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
5
Date d'inscription
mercredi 2 juillet 2003
Statut
Membre
Dernière intervention
8 juin 2007

Effectivement 'lad' est est le nom d'un formulaire et 'lid' est le nom d'un champ input, pardon de ne pas l'avoir spécifié.

sinon ma fonction est appellé comme ceci sur la page html:

onmouseover='focfoc(fchat".$row_user['user_id'].",linput".$row_user['user_id'].");'

ce qui donne par exemple, une fois le PHP interprété:

onmouseover='focfoc(fchat4,linput4);'

Je suis doublement étonné: ce qui est sencé fonctionner fonctionne et vice versa !
Je pensais mon problème resolu mais si mon code est bancal, ca m'embete ...
                              
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
<humour>comme j'ai le contenu des $variables en php...c'est parfait</humour>


tu ne peux pas donner la ligne htm ?

mais si c'est bien un formulaire et un input, pas de doute.





function focfoc(lad,lid) { document.lad.lid.focus(); } doit fonctionner
et ce que tu utilises... ne doit pas fonctionner !?!

ou alors, tu ne nous dis pas tout, ou l'erreur est ailleurs...







<hr />



Cordialement            Bul     [mon Site]     [M'écrire]



<hr />