Probleme de syntaxe avec variable

cs_ravaza Messages postés 5 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 8 juin 2007 - 6 juin 2007 à 10:30
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 6 juin 2007 à 12:05
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

cs_ravaza Messages postés 5 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 8 juin 2007
6 juin 2007 à 10:37
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
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 juin 2007 à 11:11
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 />
0
cs_ravaza Messages postés 5 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 8 juin 2007
6 juin 2007 à 11:42
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 ...
                              
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 juin 2007 à 12:05
<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 />
0
Rejoignez-nous