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 :

checkbox avec éléments style visible hidden et PHP


Sujet :

JavaScript

  1. #1
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut checkbox avec éléments style visible hidden et PHP
    bonjour

    je souhaite qu'une checkbox coché me fasse appraitre des champs cachés.
    Cela fonctionne a l'appel de la page, quand la checkbox est non coché.
    Mais si la checkbox est déjà coché par le script PHP le JS ne tient pas compte de cet état.
    Comment indiquer au Java script que cette case est cochée par la variable PHP $alerte?

    le code JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     function alrt(alrtprod){
     
    	if (document.getElementById("alerteprod" ).checked == true) {
    var str= prompt("quelques indications des informations manquantes","");
    document.getElementById('newmessage').value=str;
    document.getElementById('newmessage2').style.visibility="visible";
    	}
           if (document.getElementById("alerteprod" ).checked == false){
     
           document.getElementById('newmessage2').style.visibility="hidden";
            }
    }
    le code source de la page
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    !-- alerte prod-->
    <br>
    <input type="hidden" name="idalerte" value="">
    <input type="checkbox" id="alerteprod" onClick='alrt(this.checked)' name="alerte" checked='checked' />
    Demande d'infos suppl&eacute;mentaires &agrave; la production<br>
    <b> N'oubliez pas de d&eacute;cocher la case si vous avez compl&eacute;t&eacute; les infos.</b><BR>
    <center><font style='visibility: hidden'  id="newmessage2">
        <textarea name="message" id="newmessage">sfds</textarea>
     
        </font>

    et le code PHP
    Code php : 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
    <?php
    //alerte prod
        $sqlalerte="SELECT * FROM  Alerte  WHERE Num_rush=$num";
        $resultat2 = mysql_query($sqlalerte) or die(mysql_error());
        if (mysql_num_rows($resultat2)>0)$alerte="checked='checked'";
        while ($listalerte =mysql_fetch_assoc($resultat2)){
        $idalerte=$listalerte['ID_alert'];
        $message=$listalerte['message'];
        $nom_complet=$listalerte['Nom_createur'];
        }
    ?>
    <input type="checkbox" id="alerteprod" onClick='alrt(this.checked)' name="alerte" <?php echo $alerte ?> />
    Demande d'infos suppl&eacute;mentaires &agrave; la production<br>
    <?php IF ($alerte=="checked='checked'")echo"<b> N'oubliez pas de d&eacute;cocher la case si vous avez compl&eacute;t&eacute; les infos.</b><BR>"?>
     
    <center><font style='visibility: hidden'  id="newmessage2">
        <textarea name="message" id="newmessage"><?php echo $message?></textarea>
     
        </font>

  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 : 54
    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
    Ben... il te suffit d'appeler alrt() au chargement de la page...

    Sinon, pourquoi passer un paramètre dont tu ne te sers pas ?
    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 éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    merci Bovino

    Désolé les questions sont peut être basique mais bon le JS je ne connais pas grand chose j'essaye de comprendre et d'apprendre au fur et a mesure de mes problèmes.
    J'en profite justement pour remercier tout le monde sur les forums de développez.net. Cela m'a souvent aidé lorsque je ne voyais pas la solution.

    Si je rajoute
    dés que la case est coché par PHP, le script JS affiche le prompt , je suis donc obligé de rentrer de nouvelles données.
    Lorsque la case est coché (quand $alerte est valide) Je veux simplement afficher le textarea avec les données émanant du PHP.
    le code du text area est plus exactement ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="message" id="newmessage"><?php echo $message ?></textarea>
    ce qui doit répondre à ta question
    Sinon, pourquoi passer un paramètre dont tu ne te sers pas ?
    et la page vient dans un formulaire le code fournit ètait juste le bout qui me posait problème.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Ton code est plus lisible en l'écrivant comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (document.getElementById("alerteprod" ).checked) {
    ....
    }
    else{
    ....
    }
    Met la valeur de la variable php dans la variable js str au lieu du prompt.

    A+.

  5. #5
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    mais j'ai besoin du prompt pour la première fois que la case est coché.
    Le formulaire est affiché une première fois vide la case n'est donc pas coché.
    Mais il peut être rappelé après l'insert mysql pour modif. Donc il faut que ce formulaire soit affiché avec le textarea visible ou non suivant la valeur de $alerte.
    Et si lors d'une modif la case est décochée le textarea devient invisible.
    Ou inversement si la case n'a pas été coché lors de la création de la fiche possibilité de la cocher ultérieurement avec affichage du prompt et du textarea.

  6. #6
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    j'ai résolu mon souci en ajoutant une variable PHP qui définit si le <font> est visible ou non suivant la variable $alerte
    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
    <?php IF ($alerte=="checked='checked'"){
        $avertissement= "<b> N'oubliez pas de d&eacute;cocher la case si vous compl&eacute;tez les infos.</b><BR>";
        $visibilite='visible';
    }
    else {
        $visibilite='hidden';
        $avertissement="";
    }
        ?>
     
    <center><font style='visibility: <?php echo $visibilite ?>'  id="newmessage2">
        <?php echo $avertissement ?>
        <textarea name="message" id="newmessage"><?php echo $message?></textarea>
     
        </font>

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

Discussions similaires

  1. [MySQL] Checkboxes avec php et mysql
    Par sonic64 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/03/2008, 11h42
  2. Problème récupération checkboxes avec php
    Par sacrelolo dans le forum Langage
    Réponses: 1
    Dernier message: 21/09/2007, 12h01
  3. checkbox avec autre style css
    Par liberty74 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/05/2007, 10h03
  4. valeur par defaut d'un checkbox en visibility hidden
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 20/03/2007, 14h24
  5. Réponses: 1
    Dernier message: 30/11/2005, 14h57

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