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

jQuery Discussion :

Valeur de "disabled" d'un submit d'un formulaire


Sujet :

jQuery

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 117
    Par défaut Valeur de "disabled" d'un submit d'un formulaire
    Salut salut à tous...

    Donc voila je suis un peu en train de paufiner mon code de jquery pour mon site en symfony, et voila ce que j'aimerai faire c'est que en faite le temps que mon champs courriel n'est pas correct(verification du format, verification si il n'est pas déja inscrit) c'est de mettre la valeur de disabled à false (Comme suit le code) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=submit disabled="true"
    Mais voila après avoir fait plusieurs tests, et avoir rentré un mail valide, il me garde la valeur à true, et donc le bouton est non cliquable...

    Voila un bout de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
              $.ajax({
                type: "POST",
                url: "/inscriptionNewsletter/mail",
                data : "courriel="+value,
                success:function(data){
                  if(data==1)
                  {
                    info_form.append("Un compte avec le même courriel existe déja");
                    $('#submitNewsletter').attr('disabled', 'true');
                  }
                  else
                  {
                    $('#submitNewsletter').attr('disabled', 'false');
                  }
    Merci par avance si quelqu'un peut m'aider, autrement je vais pas m'embeter et donc cacher directement le bouton autrement, mais j'ai peut que cela ne plaise pas...

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    C'est une confusion qui est souvent faite entre les attributs HTML d'une balise et les propriétés JavaScript de l'objet correspondant.
    En gros, en HTML, l'attribut disabled n'admet qu'une seule valeur : "disabled", ce qui signifie que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=submit disabled="true" />
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=submit disabled="false" />
    c'est soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=submit disabled="disabled" />
    soit
    En revanche, cela correspond en JavaScript à une propriété disabled pour l'objet input créé avec comme valeurs possibles true ou false.
    Il ne faut donc pas passer par setAttribute, mais directement par la propriété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#submitNewsletter').disabled = false;
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 117
    Par défaut
    Juste deux questions :

    Dans le JS : Quand je veux bloquer l'appui sur le bouton c'est bien ca qu'il faut mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#submitNewsletter').disabled = true;
    Dans l'HTML : Est ce qu'il faut par défaut mettre l'attribut disabled ?

    Autrement pour l'instant cela ne fonctionne pas...

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Nan en jQuery ça ne fonctionne pas comme ça. disabled, il faut le dire, est un attribut HTML et donc il faut le considérer en tant que tel.
    jQuery dispose d'une panoplie de fonction dont attr, qui modifie l'attribut que tu lui passes en paramètre. Dans ton cas ce sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#submitNewsletter').attr("disabled", "disabled");
    Pour ta dernière question, tout ce dont tu as besoin de faire est déjà fait dans cette fonction. Tout le reste est géré par jQuery

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 117
    Par défaut
    Oui j'ai pu voir ca sur d'autre forum (en anglais ) et voila j'ai reussi à régler le problème...

    Donc comme tu dis pour activer l'attribut "disabled" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#submitNewsletter").attr("disabled", "disabled");
    Et pour le desactiver, il faut en faite supprimer ce qu'il ya dans disabled, en utilisant la fonction removeattr :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#submitNewsletter").removeAttr("disabled");
    Voila merci à toi d'avoir répondu, je n'ai plus qu'a cliquer sur Résolu

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

Discussions similaires

  1. Interprétation des valeurs NULL et '' (double quotes)
    Par thatsallfunk dans le forum Administration
    Réponses: 2
    Dernier message: 09/01/2009, 15h21

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