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 :

Fonctions et leur return !?!


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut Fonctions et leur return !?!
    Slt à tous,

    Alors c est encore en rapport avec l envoie d'un formulaire !! mais cette fois je préfère reformuler.

    Voila donc je cree une fonction javascript entre les balises Head et /HEAD comme ceci :

    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    function writediv(texte)
    {
    document.getElementById('pseudobox').innerHTML = texte;
    }
     
    function verifPseudo(pseudo)
    {
     
    if(pseudo.length<5){
    writediv('<span style="color:#cc0000">ce pseudo est trop court</span>');
    document.formulaire.ndj.focus(); 
    return false;
     }
     
    if(pseudo.length>15){
    writediv('<span style="color:#cc0000">ce pseudo est trop long</span>');
    document.formulaire.ndj.focus(); 
    return false;
    }
     
    if(texte = file('verification.php?ndj='+escape(pseudo)))
    {
    if(texte == 1){
    writediv('<span style="color:#cc0000">ce pseudo est deja pris</span>');
    document.formulaire.ndj.focus(); 
    return false;
    }
     
    if(texte == 2){
    writediv('<span style="color:#1A7917">ce pseudo est libre</span>');
    return true;
    }
    }
    }
     
    function file(fichier)
    {
    if(window.XMLHttpRequest) // FIREFOX
    xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
    return(false);
    xhr_object.open("GET", fichier, false);
    xhr_object.send(null);
    if(xhr_object.readyState == 4) return(xhr_object.responseText);
    else return(false);
    }
     
     
    function validation() 
    { 
     
     
            var email = document.formulaire.email.value; 
            if (email.search(/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$/) == -1)
            { 
            alert ('Entrez une adresse Email valide'); 
            document.formulaire.email.focus(); 
    		return 0;
            } 
           	if(document.formulaire.ndj.value == "") 
    		{ 
            alert ('Veuillez entrer votre Nom de Joueur'); 
            document.formulaire.ndj.focus(); 
    		return 0;
        	}
     
    		if(document.formulaire.mdp.value == "") 
    		{ 
            alert ('Veuillez entrer un Mot de Passe'); 
            document.formulaire.mdp.focus(); 
    		return 0;
        	}
     
    		if(document.formulaire.condition.checked == false) 
    		{ 
            alert ('Veuillez accepter les conditions'); 
            document.formulaire.condition.focus(); 
    		return 0;
        	}
     
     
    else {    
     
    		return true;
    }
    }
     
    if(validation() && verifPseudo()){
    my_form = eval(formulaire)
       window.open("inscription.php", "popup", "height=500,width=540,menubar='no',toolbar='no',location='no',status='no',scrollbars='no'");
       my_form.target = "popup";
       my_form.submit();
       }
    Ce petit bout de code à pour but de verifier l'existance du pseudo dans le champs ndj (nom de joueur) et de verifier en direct via la page verification.php si il n'existe pas déjà et laffiche en direct dans une DIV ayant l'id PSEUDOBOX donc voici la page verification.php :
    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
    <?
     
    if(@$_GET['ndj'])
    {
    //
    // VERIFICATION EN LIVE DU PSEUDO
    //
     
    // CONNECION SQL
    require_once('config.php');
     
    // VERIFICATION
    $result = mysql_query("SELECT ndj FROM membres WHERE ndj='".$_GET["ndj"]."'");
    if(mysql_num_rows($result)>0)
    echo "1";
    else
    echo "2";
    }
    ?>
    Ensuite on doit creer le formulaire qui doit être vérifié !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name="formulaire" method="post">
    <input type="text" id="pseudo" onBlur="verifPseudo(this.value);" name="ndj">
    <div id="pseudobox"></div>
    <input type="image" name="validation" src="images/inscription/_146.gif" width="93" height="17" border="0" alt="Inscrivez-vous !" onClick="validation();" onKeyDown="validation();">
    </form>
    et voila

    MON PROBLEME : comme vous avez pu remarquer dans mon code entre les balise HEAD et/HEAD qu il y avait un petit morceau qui ouvrait un pop up si les fonctions verifPseudo et validation etaient "TRUE" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(validation() && verifPseudo()){
    my_form = eval(formulaire)
       window.open("inscription.php", "popup", "height=500,width=540,menubar='no',toolbar='no',location='no',status='no',scrollbars='no'");
       my_form.target = "popup";
       my_form.submit();
       }
    et ba ca marche pas du tout, je n arrive pas a faire en sorte d'ouvrir le pop up quand les deux fonction return TRUE alors comment faire !!!! mes return sont bien placés ???

    Question : Comment pourrais-je faire pour que mon pop up s'ouvre si et seulement si mes fonctions retourne VRAI !!??

    Merci d'avance ^^

    "J'ai pas verifier les fautes d'orthographres soyez tolérant ^^

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Déjà tu peux (dois) utiliser l'attribut onsubmit de la balise form et non pas le onclick du bouton.

  3. #3
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut
    Je sais j'ai dejà essayé mais ca ne fonctionne pas !!!! pourtant ca devrai et je ne trouve pas l erreur !!!! je comprend pas il veut pas ouvrir ce satané pop up !!!!!!!!!

    merci tout de même de ta réponse

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Ben ta condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(validation() && verifPseudo())
    n'est dans aucune fonction, elle est donc exécutée au chargement de la page et jamais dans la vérification du formulaire ..

    Fais comme ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form ... onsubmit="return nomdunenouvellefonction()">

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function nomdunenouvellefonction(){
       if(validation() && verifPseudo()){
          my_form = eval(formulaire)
          window.open("inscription.php", "popup", "height=500,width=540,menubar='no',toolbar='no',location='no',status='no',scrollbars='no'");
          my_form.target = "popup";
          my_form.submit();
          return true;
       }
       else{
          return false;
       }
    }
    Te reste plus qu'à corriger la ligne où il y a le eval et le tour est joué.

    Au passage, indente mieux ton code, il fait mal aux yeux.

  5. #5
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut
    ok je te remercie c'est super !! ca marche mais la c'est une sorte de brouillons : quand il y a un problème je tente enormement de solution et ca brouille le tous mais maintenant je vais "nettoyer" tout ça et mettre des commentaires ^^

    Je te remercie de m'avoir répondu bon ap' ^^

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/09/2006, 19h12
  2. Récuperer des fichiers en fonction de leur ancienneté
    Par julien000 dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2006, 17h09
  3. Réponses: 11
    Dernier message: 27/06/2006, 20h21
  4. [Mail] fonction mail() et return-path
    Par -DeN- dans le forum Langage
    Réponses: 8
    Dernier message: 22/02/2006, 13h54
  5. Affichage d'évènements en fonction de leur date ?
    Par swirtel dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/05/2005, 10h30

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