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 :

onBlur, onFocus - inputs


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 91
    Par défaut onBlur, onFocus - inputs
    Bonjour,

    Je bloque avec un input de type texte.
    je souhaiterai faire que lorsque le champs est vide au moment de la saisie du texte, et bien qu'il y ai une valeur qui s'affiche par défaut.

    Par exemple avec onBlur():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" onBlur="alert('toto')" value="toto" />

    J'aimerai qu'à la place de l'alerte, s'écrive "toto" (donc lorsque l'on clique en dehors du champs en laissant le champs vide).

    Au plaisir de vous lire.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 31
    Par défaut
    Bonjour,
    Tu remplacera la ligne par celle ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" onBlur="fonction()"  id="monchamps" />
    et dans une balise script tu ajoutes le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function fonction(){
     
    var valeur = document.getElementById("monchamps").value;
    if(valeur == ""){
              document.getElementById("monchamps").value = "toto";
    }
    J'espère t'avoir aidé

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 91
    Par défaut
    Merci pour ta réponse,

    J'ai adapté ton code au mien et ça ne fonctionne pas non plus.

    Voici le rendu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    echo '<input type="text" id="search_home" onBlur="fonction()" placeholder="" autocomplete="off" value="' . $locality . '" name="search" />';
    ?>
     
    <script type="text/javascript">
    function fonction(){
     
    var valeur = document.getElementById("search_home").value;
    if(valeur == ""){
     
    document.getElementById("search_home").value = "toto";
    }
    </script>
    $locality est égale à la ville de l'utilisateur.

    La console m'indique que fonction() n'est pas définis et que je respecte pas la fin de l'input.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Tu as oublié l'accolade fermante "}" de la fonction.

    A+.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 91
    Par défaut
    Bonjour,

    Merci, en effet j'avais oublié cette accolade, donc je n'ai plus d'erreur, mais ça ne fonctionne toujours pas et je ne vois vraiment pas comment m'y prendre.

    Avez-vous des idées ?

    Edit: ça fonctionne très bien au final, c'est juste que j'ai attribué un autre code javascript avec ce même id.

    J'ai ce code là avec pour l'autocompletion de l'API Google:

    Code : 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
    <script type="text/javascript">
    					function fonction(){
    					$(document).ready(function () {
    						var input = document.getElementById('search_home');
    						var options = {
    						types: ['(cities)'],
    						};
     
    						autocomplete = new google.maps.places.Autocomplete(input, options);
    					});
     
    					var valeur = document.getElementById("search_home").value;
    					if(valeur == ""){
    							  document.getElementById("search_home").value = "<?php echo $locality ?>";
    					}
    					}
    				</script>
    Il y a encore un petit hic, la première manipulation fonctionne, donc si je laisse le champs vide et que je clique en dehors, ma valeur revient bien, mais lorsque j'éffectues encore une fois cette même manipulation, la valeur ne revient plus.

    Comment faire, pour qu'elle revienne à chaque fois ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 91
    Par défaut
    Je reviens vers vous, car j'ai un autre problème,
    Le code de medessad fonctionne bien, mais le problème c'est que vu que j'applique déjà le script de l'API Google à cet ID, il y a conflict.

    J'ai ce code actuellement:

    Code : 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
    <input type="text" id="search_home" onBlur="come_back()" autocomplete="off" value="' . $locality . '" name="search" />
     
    <script type="text/javascript">
    					function come_back(){
    					$(document).ready(function () {
    						var input = document.getElementById('search_home');
    						var options = {
    						types: ['(cities)'],
    						};
     
    						autocomplete = new google.maps.places.Autocomplete(input, options);
    					});
     
    					var valeur = document.getElementById("search_home").value;
    					if(valeur == ""){
    							  document.getElementById("search_home").value = "<?php echo $locality ?>";
    					}
    					}
    				</script>
    L'autocompletion de Google ne fonctionne qu'une fois un onBlur éffectué, or je souhaiterai qu'il fonctionne tout le temps.

    Vous avez une solution ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. onblur, onfocus et IE9
    Par adri170 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 21/02/2013, 04h12
  2. onBlur / onFocus
    Par bilbonec dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/10/2012, 12h18
  3. [DOM] DOM onBlur onFocus CSS
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 11/06/2008, 11h37
  4. OnFocus input -->Changer la couleur l'ensemble de la ligne
    Par hubertc dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/08/2007, 20h32
  5. [Curiosité] Onblur + onfocus : pas de dance en chassé-croisé
    Par Hibou57 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/07/2007, 10h36

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