javascript Creer une fonction

javascript Creer une fonction - HTML/CSS - Programmation

Marsh Posté le 03-06-2002 à 00:07:15    

Salut,
J'ai un ptit problème de javascript.
 
J'utilise ceci dans plusieurs pages :
 
<input type="text" value="nom"
onFocus="if(this.value=='nom';)this.value='';"
 onBlur="if(this.value=='';)this.value='nom';">
 
Quand on clic dans le champ, il s'efface et quand on en sort si on a rien mit il reprend la valeur 'nom'.
 
Donc j'aurais voulu en faire une petite fonction...
Mais j'y arrive pas !
 
Voila ce que j'ai fait pour le focus :
 
function on_focus(param)
{
  if (this.value == param)
  {
     return(this.value = '';) ;
  }
}
 
onFocus="javascript:on_focus(nom);"
 onBlur="javascript:on_blur(nom);"
 
Ou est ce que ca cloche ?
Merci pour vos reponses !

Reply

Marsh Posté le 03-06-2002 à 00:07:15   

Reply

Marsh Posté le 03-06-2002 à 00:41:47    

on_focus('nom';) (t'as oublié les guillemets..)

Reply

Marsh Posté le 03-06-2002 à 01:25:46    

Le problème, c'est que dans le 1° cas, le this correspond à ton input, mais dans le second, il ne correspond à rien (ou alors, peut-être à la fonction, à vérifier...).
 
Le plus simple, c'est d'utiliser le nom de ton input:

Code :
  1. function on_focus(pChamp,pTexte)
  2. {
  3.   lObjetChamp = eval('document.leFormulaire.'+pChamp);
  4.   if(lObjetChamp.value == pTexte)
  5.     lObjetChamp.value = '';
  6. }
  7. ...
  8. <form name='leFormulaire'>
  9. <input type='text' name='leChamp' onFocus="on_focus('leChamp','tonTexte');"
  10. onBlur="on_blur('leChamp','tonTexte');" />


 
Il y a moyen de faire mieux (et plus propre) en utilisant l'objet Event et la propriété permettant de retrouver l'objet à l'origine de l'événement, mais il faudrait que je cherche, et ça me gonfle... Tu peux chercher une propriété qui doit s'appeler "sourceIndex" ou "srcIndex", je ne sait plus trop... Mais si tu n'es pas trop pointilleux, mon code devrait marcher...

Reply

Marsh Posté le 03-06-2002 à 06:35:17    

Merci pour vos réponses ...   :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed