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écocher un checkbox dans formulaire php


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut décocher un checkbox dans formulaire php
    Bonjour,

    Je cherche à pouvoir décocher un chechbox dans un formulaire php
    sans créer un nouveau bouton 'décocher' je voudrais juste qu'en cliquant sur le bouton il se coche ou se décoche.

    J'ai trouvé le script suivant que j'ai inséré dans head:
    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
    <script language="Javascript">
     
     
     
    function uncheck(el) {
     
    if (document.getElementById) {
    var radio = document.getElementById(el.id);
    var temp = document.getElementById(el.name+'_temp');
    } else if (document.all) {
    var radio = document.all[el.id];
    var temp = document.all[el.name+'_temp'];
    } else {
    if ((navigator.appname.indexOf("Netscape") != -1) && parseInt(navigator.appversion == 4)) {
    var radio = document.layers[el.id];
    var temp = document.layers[el.name+'_temp'];
    }
    }
    if(radio.value == temp.value) {
    radio.checked = false;
    temp.value = '';
    } else {
    temp.value = radio.value;
    }
    }
    </script>
    et je suis censée insérer ceci au niveau du checkbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="uncheck(this)"
    sauf que ça marche pas ou bien que je l'ai pas placé au bon endroit (plus probable...

    voilà le code de cette partie de mon formulaire:
    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
    <?php
            /* Excution de la requte */
     
            include('connect.php');
     
     
    $sql="SELECT DISTINCT Nom_commune FROM Ma_Base WHERE Nom_commune IS NOT NULL ORDER BY Nom_commune ";
            
    $resultat=mysql_query($sql,$bd);        
            
    if ($maligne=mysql_fetch_array($resultat)){
                    
        echo ' 
    
    <H3><form method="post" action="reponse_agence.php"></H3>
    
    <p>Communes : </p>
    
    <select name="communes" id="communes">';
     
    do{
    echo '<option value="'.$maligne['Nom_commune'].'">'.$maligne['Nom_commune'].'</option>';
     
    }while ($maligne=mysql_fetch_array($resultat));
    }
     
    echo '</select>';
     
    ?>
    <input type="radio" name="toutescommunes" value="toutescommunes"> Toutes les communes
    à quel niveau du bouton peut on mettre onclick="uncheck(this) pour que ça marche??

    Merci par avance,

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    heu tu parles de checkboxes, mais je n'en voit pas un seul dans ton code ??

    ensuite le comportement par défaut d'un checkbox, c'est de se cocher ou de se décocher quand on clique dessus ...

    Il va falloir que tu sois plus précis dans ta question ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Houla houla !
    Ne mélange pas tout !
    1/ Dans ton script, ce n'est pas une "checkbox", mais un bouton "radio".
    2/ Une checkbox se coche et se décoche simplement en cliquant dessus.
    Donc pas besoin de javascript pour ca.
    3/ Pour ce que tu veux faire, il existe beaucoup plus simple :
    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
    20
    21
    <?php
    /* Execution de la requete */
    include('connect.php');
    $sql="SELECT DISTINCT Nom_commune FROM Ma_Base WHERE Nom_commune IS NOT NULL ORDER BY Nom_commune ";
    $resultat=mysql_query($sql,$bd);	
     
    if ($maligne=mysql_fetch_array($resultat)){
     
        echo ' 
    	<form method="post" action="reponse_agence.php">
    	<p>Communes : </p>
    	<select name="communes" id="communes">';
    		echo '<option value="toutescommunes">Toutes les communes</option>';
    	do{
    		echo '<option value="'.$maligne['Nom_commune'].'">'.$maligne['Nom_commune'].'</option>';
    	}while ($maligne=mysql_fetch_array($resultat));
    	echo '
    	</select>
    	</form>';
    }
    ?>
    Il suffit alors de distinguer à la récupération :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $nomCommune = $_POST['communes'];
    if ($nomCommune == 'toutescommunes') {
    	// on affiche tout
    } else {
    	// on sélectionne
    }

  4. #4
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    Oui...c'était plus simple comme ça effectivement
    (mettre "toutes les communes" dans l'option value....)
    je ne sais pas pourquoi je m'étais lancé dans le "bouton radio" (et pas le checkbox désolée pour le mauvais terme!!)
    en tout cas, là ça marche...

    )

  5. #5
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    Enfin à un petit détail près:

    dans le script de réponse au formulaire à l'origine avec le 'bouton radio' j'avais (j'ai 4 choix en fait communes biens, prix, pieces
    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
     
     
    // Prepare le requete MySql
     
    if(isset($_POST['toutescommunes']))
    { 
      $choix1 = $_POST[''];
    } 
    else 
    { 
     $choix1 = $_POST['communes'];
    } 
     
    if(isset($_POST['tousbiens']))
    { 
      $choix2 = $_POST[''];
    } 
    else 
    { 
     $choix2 = $_POST['biens'];
    } 
    if(isset($_POST['tousprix']))
    { 
      $choix3 = $_POST[''];
    } 
    else 
    { 
     $choix3 = $_POST['prix'];
    }
     
     
    if(isset($_POST['toutespieces']))
    { 
      $choix4 = $_POST[''];
    } 
    else 
    { 
     $choix4 = $_POST['pieces'];
    }
     
    $choix1 != "";
    $choix2 != "";
    $choix3 != "";
    $choix4 != "";
    $finrequete1 = "(Nom_commune LIKE '%$choix1%' AND Type_bien LIKE '%$choix2%' AND Fourchette_prix LIKE '%$choix3%' AND Nombre_pieces LIKE '%$choix4%')";
    mais là en ajoutant une option value je vois pas comment modifier mon code:
    j'ai essayé ça mais ça marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $nomCommune = $_POST['communes'];
    if ($nomCommune == 'toutescommunes') {
    	$choix1 = $_POST[''];
    } else {
    	$choix1 = $nomCommune;
    }
    sachant que j'ai plusieurs choix...

  6. #6
    Invité
    Invité(e)
    Par défaut
    1/ Pour commencer, $choix1 = $_POST['']; c'est n'importe quoi.
    Il suffit décrire : $choix1 = ''; (idem partout, évidemment.)

    2/ Il faut être malin, et astucieux :
    (je te rassure, c'est aussi grâce à ce site que j'ai progresser, et appris à être plus malin !)
    Le but est de construire la requête de sélection, et donc écrire les "bouts de code" : "WHERE ... = ... " et " AND ... = ..."

    Ce que je comprends mal, c'est pourquoi ton code est si... pourri...
    alors que tu l'écrivais plus "proprement" et intelligemment ici ?!
    Tu as régressé depuis 2006 ?

    Je te mets sur la piste (en me basant sur ton ancien code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $nomCommune = $_POST['communes'];
    if ($nomCommune == 'toutescommunes') {
    	$choix1 = ''; // rien
    } else {
    	$choix1 = " Nom_commune LIKE '%".mysql_real_escape_string($nomCommune)."%' ";
    }
    Dernière modification par Invité ; 15/05/2012 à 15h36.

  7. #7
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    Bonsoir,


    Oui depuis 6 ans je n'ai pas forcément progressé )
    (un formulaire php tout les 6 ans c'est suffisant!!....
    (enfin il peut y avoir une petite régression avant une avancée j'espère...)

    Donc j'ai essayé le morceau de code mais ça ne fonctionne pas:

    ça me réponds

    Résultat de la recherche pour : " Nom_commune LIKE '%%' " "" "" ""
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /web/annan/www/reponse_agence.php on line 76
    biens disponibles

    ça doit être la syntaxe de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $choix1 = " Nom_commune LIKE '%".mysql_real_escape_string($nomCommune)."%' ";
    qui passe pas...................

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

Discussions similaires

  1. envoi de checkbox dans formulaire php
    Par baraufranck dans le forum Langage
    Réponses: 13
    Dernier message: 02/12/2010, 22h32
  2. activer fonction quand checkbox est cochée dans formulaire php
    Par knebhi dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 06/10/2010, 11h26
  3. checkbox dans formulaire access
    Par vibalistic dans le forum VBA Access
    Réponses: 3
    Dernier message: 27/11/2007, 13h29
  4. Checkbox dans formulaire + script php
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2007, 11h31
  5. scan champs dans formulaire php
    Par khaled_dev dans le forum Langage
    Réponses: 3
    Dernier message: 05/04/2007, 16h47

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