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 :

Demande d'explication : "return false"


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 30
    Points : 19
    Points
    19
    Par défaut Demande d'explication : "return false"
    Bonjour à tous

    Qui peut m'expliquer à quoi sert le "return false" dans les href, ex : <a href="#" onClick="swapLayers('lyr1'); return false">- Layer 1 -</a>

    Et en général à quoi sert-il ?

    Merci d'avance


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>Showing and Hiding Layers</title>
    <STYLE TYPE="text/css">
    body {font-family: Verdana, arial, helvetica, sans-serif;font-size:12px; margin:20px; padding:0;}
    h2	{ font-size:14px; }
    a:link { color:#33c; }	
    a:visited { color:#33c; }	
     
    #lyr1, #lyr2, #lyr3 { position:absolute; visibility:hidden; left:20px; top:60px; width:400px; z-index:100; }
    </STYLE>
    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
    // onresize for ns4
    var origWidth, origHeight;
    if (document.layers) {
    	origWidth = window.innerWidth; origHeight = window.innerHeight;
    	window.onresize = function() { 
    		if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0);
    		}
    }
     
    var lay_encours;	// holds id of currently visible layer
    function swapLayers(id) {
      if (lay_encours) hideLayer(lay_encours);
      showLayer(id);
      lay_encours = id;
    }
     
    function showLayer(id) {
      var lyr = getElemRefs(id);
      if (lyr && lyr.css) lyr.css.visibility = "visible";
    }
     
    function hideLayer(id) {
      var lyr = getElemRefs(id);
      if (lyr && lyr.css) lyr.css.visibility = "hidden";
    }
     
    function getElemRefs(id) {
    	var el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? document.layers[id]: null;
    	if (el) el.css = (el.style)? el.style: el;
    	return el;
    }
    </SCRIPT>
    </head>
    <body onload="swapLayers('lyr1');">
    <p>
    	<a href="#" onClick="swapLayers('lyr1'); return false">- Layer 1 -</a>
    	&nbsp;|&nbsp;
    	<a href="#" onClick="swapLayers('lyr2'); return false">- Layer 2 -</a>
    	&nbsp;|&nbsp;
    	<a href="#" onClick="swapLayers('lyr3'); return false">- Layer 3 -</a>
    </p>
     
    <div id="lyr1">
    	<h2>- Layer 1 -</h2>
     
    	<p>You can save or view this document's source code using your browser menu commands. Please read dyn-web's <a href="#">Terms of Use</a>.</p>
    	<p>The code is very simple. Position the layers absolute, giving them all the same left, top and width settings. An onload handler can show the first layer when the document loads.</p>
    	<p>A global variable keeps track of the currently visible layer so it can be hidden when a link is clicked to show another.</p>
    </div>
     
    <div id="lyr2">
    	<h2>- Layer 2 -</h2>
     
    	<p>This version puts the layers at specified (absolute) positions. It is possible for your layers to appear inline in your page, i.e., relative to other page content, for example in a table cell.</p>
    	<p>See the <a href="#">inline</a> example.</p>
    </div>
     
    <div id="lyr3">
    	<h2>- Layer 3 -</h2>
     
    	<p>Code is available to <a href="#">change the style</a> of the link clicked on. This helps the user know which layer they are currently viewing.</p>
    </div>
     
    </body>
    </html>

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    A rien!
    <a href="javascript:swapLayers('lyr1')">- Layer 1 -</a>

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Merci pour ta réponse

    Peux-tu m'expliquer en quelques mots son usage (les cas où on peut l'utiliser) ?
    Mais je me doute de ta réponse...
    Tu vas me dire que tu ne peux répondre qu'en voyant le script dans le lequel il est utilisé...
    N'est-ce pas ?

  4. #4
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Walut!

    On utilise le return false (ou true) pour les validations de formulaires par exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form action='foo.asp' method=post onSubmit="return checkform()">
    Et dans la fonction checkform()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (toutes les conditions sont remplies pour soumettre le formulaire)
      return true;
    else
      return false;
    Yan
    La nourrice montre son sein, et le pont s'affaisse
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Ok je vois merci beaucoup

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Points : 1 446
    Points
    1 446
    Par défaut
    Je crois qu'il y a confusion dans la dernière réponse ?

    <a href="#" onClick="swapLayers('lyr1'); return false">- Layer 1 -</a>

    Sur la balise précédente, le return false sert à indiquer au moteur javascript de s'arrêter de bosser ; en l'absence de return false, il aurait ensuite interprété href="#" en essayant de charger "#". Il suffit de faire l'essai pour constater en mettant href="http://www.developpez.com" par exemple :-)

    Sylvain
    .NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

    Mon Blog : http://blog.developpez.com/index.php?blog=89
    Mes Articles : http://sjames.developpez.com/
    Rubrique XMLRAD: http://xmlrad.developpez.com

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    return est une instruction souvent implicite qui clot une fonction: elle définit la valeur à "retourner" par la fonction;

    plus particulièrement, quand return a pour valeur true ou false, elle indique si l'action par défaut prévue par le navigateur doit être exécutée sur l'objet qui a appelé la fonction;

    c'est ainsi qu'on peut dans certains cas presser une touche en interdisant l'affichage du caractère tapé (return false);
    ou qu'on peut cliquer sur un lien sans changer d'url (return false, encore)

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Merci à tous pour vos explications
    C'est devenu très clair pour moi grâce à vous

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

Discussions similaires

  1. verification de formulaire malgres return false
    Par emile13 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/03/2006, 18h54
  2. utilisation de code barre - demande d'explication
    Par cortex024 dans le forum Windows
    Réponses: 15
    Dernier message: 16/02/2006, 16h37
  3. Return false inopérent sur un "onclick"
    Par El Riiico dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/01/2006, 11h47

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