IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

onfocus() et création de fonction


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Par défaut onfocus() et création de fonction
    Bonjour,

    C'est surement facile mais je nage dans la cacagne !
    En fait j'ai un formulaire que je veux préremplir. Et je veux que quand on clique dessus, ce qui est prérempli disparaisse. Jusque là tout va bien, un simple focus suffit.
    Mais je voudrait faire en sorte que si on perd le focus du champ après l'avoir rempli et que l'on retourne dessus, celui-ci n'efface pas tout ce qui a été inscrit au préalable. Je veux tout ca dans une fonction =)

    Voici ce que j'ai tenté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Ici la fonction Javascript :
    function focusout(id) {
     
      if(document.getElementById(id) == "salle_ajout" && document.getElementById(id).value == "Tapez le nom de salle")
      {
        document.getElementById(id).value = "";
      }
     
      if(document.getElementById(id) == "auteur_ajout" && document.getElementById(id).value == "Tapez le nom auteur")
      {
        document.getElementById('auteur_ajout').value = "";
      }
    }
    Et l'appel de la fonction (compris dans du php, d'où les quotes):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type='TEXT' id='salle_ajout' style='visibility:visible;' value=\"Tapez le nom de salle\" onfocus=\"focusout('salle_ajout')\"></input>
     
    <input type='TEXT' id='auteur_ajout' style='visibility:visible;'  value='Tapez le nom auteur' onfocus=\"onfocus('auteur_ajout')\"></input>
    Merci

  2. #2
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type='text' id='salle_ajout' value="Tapez le nom de salle" onfocus="doFocus(this.id)" onblur="doBlur(this.id)" />
    <br/>
    <input type='text' id='auteur_ajout' value='Tapez le nom auteur' onfocus="doFocus(this.id)" onblur="doBlur(this.id)" />

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    // Obtention du focus
    function doFocus(id) {
    	var element = document.getElementById(id);
    	switch (id) {
    		case "salle_ajout" :
    			if (element.value == "Tapez le nom de salle")
    				element.value = "";
    			break;
    		case "auteur_ajout" :
    			if (element.value == "Tapez le nom auteur")
    				element.value = "";
    			break;
    	}
    }
     
    // Perte du focus
    function doBlur(id) {
    	var element = document.getElementById(id);
    	switch (id) {
    		case "salle_ajout" :
    			if (element.value == "")
    				element.value = "Tapez le nom de salle";
    			break;
    		case "auteur_ajout" :
    			if (element.value == "")
    				element.value = "Tapez le nom auteur";
    			break;
    	}
    }

  3. #3
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut
    Plus "proprement" ca donne :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='text' value='Tapez le nom auteur' onfocus="gestionFocus(this, 'Tapez le nom auteur')" onblur="gestionFocus(this, 'Tapez le nom auteur')" />

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function gestionFocus(element, texteDefaut) {
    	if (element.value == "") {
    		element.value = texteDefaut;
    	}
    	else if (element.value == texteDefaut) {
    		element.value = "";
    	}
    }

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Par défaut
    Merci

Discussions similaires

  1. Création de fonctions dans DLL
    Par salrouge dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/08/2006, 09h42
  2. Création de fonction ou méthode
    Par sam.fet dans le forum ASP
    Réponses: 2
    Dernier message: 03/08/2006, 16h17
  3. Création de fonction
    Par Lo² dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/07/2006, 11h00
  4. Création de fonction
    Par benazerty dans le forum Access
    Réponses: 6
    Dernier message: 14/04/2006, 10h40
  5. Réponses: 5
    Dernier message: 30/03/2006, 14h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo