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 :

Code javascript pour griser bouton Submit


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 24
    Points
    24
    Par défaut Code javascript pour griser bouton Submit
    Bonjour,

    j'ai créé une page avec plusieurs radio boutons qui sont affichés en fonction de certaines conditions(matiere du professeur par exemple).
    c'est pour l'upload d'un fichier.il choisi la classe puis le dossier adéquat.

    J'ai fait en sorte que mon bouton submit, soit grisé, tant qu'il n'a pas séléctionné les radio Algebre ou Géometrie.Jusque la ca marche.
    J'aimerai pouvoir faire en sorte que le bouton reste grisé, tant qu'il n'a pas séléctionner les 2 "formulaires" qui sont la classe, et le dossier adéquat

    Merci beaucoup pour votre aide


    Voici le formulaire pour choisir le dossier(celui qui réagit avec le submit)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="radio" name="choix" value="Algebre" id="dossier" onclick="affiche_bouton()" />Algebre
    	<input type="radio" name="choix" value="Geometrie" id="dossier" onclick="affiche_bouton()"  />Géometrie<br/></center>

    Voici mon bouton submit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="ok" value="OK" id="submit1" disabled="true" />

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

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par gamiel Voir le message
    tant qu'il n'a pas séléctionner les 2 "formulaires" qui sont la classe, et le dossier adéquat
    C'est quoi "sélectionner" un formulaire ? ...avoir rempli tous les champs ?
    Citation Envoyé par gamiel Voir le message
    Voici le formulaire pour choisir le dossier(celui qui réagit avec le submit)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="radio" name="choix" value="Algebre" id="dossier" onclick="affiche_bouton()" />Algebre
    	<input type="radio" name="choix" value="Geometrie" id="dossier" onclick="affiche_bouton()"  />Géometrie<br/></center>
    Heu... c'est pas un formulaire... seulement 2 champs. ^^

    D'une manière générale, il me semble que le code HTML complet (au moins de la partie contenant les formulaires) serait utile dans le contexte, histoire de voir la structure de l'ensemble.

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Merci de poster le code HTML généré et non le code PHP.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    Excuse mon ignorance mais quelle partie as tu besoin?

    je t'ai posté la partie html des radio bouton, le bouton submit,

    que manque t-il??

  5. #5
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Rien, en fait, si on suppose que les if PHP fonctionnent bien.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    if ($_SESSION['matiere1'] == 'maths') :
    ?>

    Car le JavaScript va agir sur le HTML généré, c'est-à-dire après le parsing du PHP qui décidera d'afficher tels ou tels champs. Si l'erreur est à ce niveau-là, nous ne pouvons pas la voir.

    D'ailleurs, que cache :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo vers_page($message); ?>

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    non les if marchent parfaitement puisque en me connectant avec le login du prof de maths, les radio bouton algebre et geometrie s'affichent

    idem si je me connecte avec le login du prof de techno,uniquement les radio le concernant s'affichent..

  7. #7
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Il va falloir faire un peu de nettoyage. Vous avez des doublons au niveau des id. Ce n'est pas bien. Un id doit être unique.

    Ensuite, vous n'appelez votre fonction qu'à un seul endroit. Et si la personne cochait d'abord le fichier et puis la classe ? Qu'en est-il des fichiers techno ?

    Vous parcourrez les input. Soit. J'aurai peut-être fait selon les blocs de bouton radio mais c'est un choix. Vous voulez que un de chaque soit coché. Or vous ne vérifiez qu'un seul parmi tous les boutons radio.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    Alors,

    dans le code que j'ai posté:

    Tant que l'utilisateur n'a pas cliqué sur le bouton de choix de dossier:
    Ex pour maths: algebre ou géo
    pour techno: cours ou tp

    le bouton reste grisé.Donc il peut cliquer sur le radio bouton de la classe tant qu'il veut, le bouton submit restera grisé.

    Si il selectionne le dossier (algebre ou geo par exemple) et qu'il ne selectionne pas de classe, l'upload se fera quand meme.

    d'ou mon poste ou je veux également faire de meme pour les radio bouton de choix de classe.
    "Tant qu'il n'a pas sélectionné une classe ET un dossier" (dans lequel il va uploader un fichier présent sur son ordi) je voudrais que le submit reste grisé.

  9. #9
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Oui c'est pourquoi j'attirais l'attention sur le fait que vous ne vérifiez pas le nombre de boutons cochés. De plus, le if sur la variable isChecked doit se faire après la boucle, sinon il grisera selon l'état du dernier bouton radio. Vous pourriez faire ceci par exemple :

    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
     
    function affiche_bouton() 
    { 
       var isChecked=0;
     
       for (i=0; i<document.getElementsByTagName("input").length; i++)
          if (document.getElementsByTagName("input")[i].type=="radio")
             if (document.getElementsByTagName("input")[i].checked)
                isChecked++; 
     
       if (isChecked == 2)
       {
          document.getElementById('submit1').disabled='false';
       } else {
          document.getElementById('submit1').disabled='true';
       }
    }
    Avec le onclick="affiche_bouton()" sur tous les boutons radio.

    Mais le plus sûr serait de boucler une première fois sur les classes et une seconde fois sur les fichiers. Ensuite de voir si une classe et un fichier sont bien cochés.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par vermine Voir le message

    Mais le plus sûr serait de boucler une première fois sur les classes et une seconde fois sur les fichiers. Ensuite de voir si une classe et un fichier sont bien cochés.
    Ca a marché, merci beaucoup!

    cependant qu'entend tu par " le plus sur"?

  11. #11
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    D'après votre méthode, vous prenez tous les boutons radio de la page. Si deux sont cochés, c'est bon pour vous. Peut-être s'il y a une classe et un fichier. Ca peut être une classe et une armoire ou bien une armoire et un avion. Tant qu'il y a deux boutons radio cochés, c'est bon.

    Pour être sûr de parler de classe et de fichier, et non pas d'armoire et d'avion qui n'ont aucun rapport, vous pouvez faire une sélection sur le nom de vos boutons radio (classe puis choix). La sélection vous ramènent un tableau sur lequel vous pouvez faire le "if checked".
    Donc vous aurez une vérification sur les classes et une vérification sur les fichiers et uniquement sur ces boutons radio-là. Les armoires et autres avions qui traineraient sur votre page ne seront pas pris en compte dans la vérification.

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

Discussions similaires

  1. [AC-2010] Code VBA pour un bouton
    Par Dreamz87 dans le forum IHM
    Réponses: 4
    Dernier message: 09/12/2012, 19h09
  2. Réponses: 0
    Dernier message: 24/05/2011, 15h00
  3. deux actions pour un bouton submit
    Par ranell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 07/12/2007, 07h30
  4. code Javascript pour lire un fichier texte
    Par DEV-10 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/10/2006, 21h49
  5. problème de code javascript pour une vue 360°
    Par tomguiss dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2006, 22h50

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