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 :

désactiver le bouton


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut désactiver le bouton
    Bonjour,

    J'ai un champ de texte pour les emails et un bouton "Envoyer"...
    Si ce email a été déjà utilisé, je vais désactiver ce bouton :

    Voici mes étapes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <label>Votre email<span class="rose"><strong>*</strong></span> :
    <input name="email" type="text" id="email" onKeyUp="verifCourriel(this.value)"  /></label>
    <!-- onkeypress="return valid_mail(event);"-->
    <label class="error checked" generated="true" for="email">&nbsp;</label>
    <div id="divPourVrfEmail"></div><input type="submit"  name="submit" id="submit" value="Envoyer" />
    Lorsque l'utilisateur tape son courriel, on vérifie si ce courriel existe dans la basse de données, au fur et mesure qu'il tape les lettres...
    Si cela existe on lui dit que ce courriel est déjà existé :
    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
     
    function writediv_vrf_email(texte) {
    	document.getElementById('divPourVrfEmail').innerHTML = texte;
    }
     
     
    function verifCourriel(email) {
        if (email != '') {
            if (email.length < 0)
                writediv_vrf_email('<span style="color:#cc0000"><b>' + email + ' :</b>trop court</span>');
            else if (email.length > 200)
               writediv_vrf_email('<span style="color:#cc0000"><b>' + email + ' :</b>trop long</span>');
            else if (texte = file('verification_email.php?email=' + escape(email))) {
                if (texte == 1)
                    writediv_vrf_email('+email+');
     
                else if (texte == 2)
                    writediv_vrf_email('+email+');
     
                else
                    writediv_vrf_email(texte);
    				//document.mon_form_name.submit.disabled = true; 
     
            }
        }
     
    }
    et voici mon fichier verification_email.php
    include"mabase_d.php";

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $result = mysql_query("SELECT colone_email FROM $table_db WHERE colone_email='".$_GET["email"]."'");
     
    if(mysql_num_rows($result)>=1)
     
     
    echo "<span style=\"color:#cc0000\"><b>Attention ce courriel à été DÉJÀ utilisé avec ces lettres</b> Autrement dit, vous ne pouvez pas utiliser ce courriel</span>";
    else
    echo "<span style=\"color:#1A7917\"><b>Vous pouvez utiliser ce courriel qui n'existe pas encore</b> donc ce courriel est libre</span>'";
    Jusqu'au ici tout va bien... Mais je vais ajouter une autre fonctionnalité : lorsque le courriel est existe, il faut que mon bouton devienne inactif (disabled)... Comment peux-je faire ?

    voici ce que j'ai ajouté dans mon bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      <input type="submit"  name="submit" id="submit" value="Envoyer"  <?php 
     
    include"mabase_d.php";
    $rslt = mysql_query("SELECT colone_email FROM $table_db WHERE colone_email='".$_GET["email"]."'");
    if(mysql_num_rows($rslt)>=1)
    {
            echo 'disabled="disabled"';
    }
    else
    {
    // rien
    }
     
    ?> />
    Mais mon bouton est toujours actif parce que je n'arrive pas récupérer la valeur du champ «*email*» par $_GET[«*email*»]
    alors que je dois faire ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonsoir,
    je présumes que les transactions ce font en Ajax et que file est la fonction d'envoi.
    Quand traites tu le retour ?

    Un classique AJAX : utiliser les données au bon moment !

    Perso je ne ferais le test qu'à la soumission.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut
    Bonjour NoSmoking,

    Citation Envoyé par NoSmoking Voir le message
    ... les transactions ce font en Ajax ...
    Non, les transactions se font en php! Ajax c'est seulement pour la vérification de email....

    Citation Envoyé par NoSmoking Voir le message
    ...file est la fonction d'envoi.
    Pour faire la requête sql dans un fichier PHP

    Alors que je dois faire ?
    Merci

  4. #4
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    ne sachant pas ce que fait file, je dois avouer que je ne vois pas le problème.
    Tu utilises quoi pour faire l'AJAX ? une librairie ou un code perso ?

  5. #5
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Petite remarque :
    je suis un pirate. Je veux me connecter sur ton site, et je tape une adresse qui existe déjà : le bouton se désactive. J'ouvre Firebug, je sélectionne le bouton, et je mets sa propriété disabled à false. Ceci met permet d'envoyer quand même la requête.

    Est-ce que ton code côté serveur prévoit ce genre de scénario ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  6. #6
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par Watilin Voir le message
    Petite remarque :
    je suis un pirate.
    Tsss, j'en étais sur...

    ()

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut
    Citation Envoyé par Watilin Voir le message
    Petite remarque :
    je suis un pirate. Je veux me connecter sur ton site, et je tape une adresse qui existe déjà : le bouton se désactive. J'ouvre Firebug, je sélectionne le bouton, et je mets sa propriété disabled à false. Ceci met permet d'envoyer quand même la requête.

    Est-ce que ton code côté serveur prévoit ce genre de scénario ?
    tu peux envoyer les informations en changeant la propriété de bouton (d'ailleurs c'est comme cela pour le moment) mais tu ne peux pas les enregistrer ces informations dans la BDD :

    dans mon 3e fichier en php il y a une condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if(mysql_num_rows($verification_email)<1)
    						{
    // enregistrer les données
     
    }
    						else
    						{
    							echo "<h2>D&eacute;sol&eacute;s, nous ne pouvons prendre en compte votre commande.</h2>";
     
     }

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut
    Citation Envoyé par Kaamo Voir le message
    ne sachant pas ce que fait file, je dois avouer que je ne vois pas le problème.
    Tu utilises quoi pour faire l'AJAX ? une librairie ou un code perso ?
    Même si tu sais le lien vers File... tu ne peux rien faire puisque c'est un fichier en php et que tu ne peux lire que le message...

    en outre, il n'y a qu'une requête pour voir si le courriel existe ou non avec le message....

    D'ailleurs je n'utilise AJAX qu'afficher le message aux les utilisateur en disant que ce courriel est existé ou non!!!

  9. #9
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    file est une fonction javascript qui doit implémenter l'objet 'AJAX' qui se charge d'envoyer à php la requête. Selon ce que j'ai compris en tout cas.

    c'est pour cela que je voulais voir le code javascript qui se charge de faire tout ça. Peut-être y a t il un mauvais transfert de ce coté

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

Discussions similaires

  1. désactivé un bouton
    Par leo13 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/03/2005, 11h44
  2. Désactiver le bouton "fermer fomulaire"
    Par 973thom dans le forum IHM
    Réponses: 10
    Dernier message: 03/02/2005, 20h26
  3. Griser et désactiver un bouton
    Par skea dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/01/2005, 10h45
  4. [MFC] désactiver un bouton d'un CToolBar
    Par bigboomshakala dans le forum MFC
    Réponses: 4
    Dernier message: 22/11/2004, 14h31
  5. Désactiver un bouton
    Par nd25 dans le forum Flash
    Réponses: 3
    Dernier message: 06/10/2003, 13h18

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