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

Langage PHP Discussion :

[PHP-JS] Récupération de valeur de checkbox + valeur de input text associé


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut [PHP-JS] Récupération de valeur de checkbox + valeur de input text associé
    Bonjour tout le monde....

    Bon j'ai fouillé sur le forum et j'arrive pas à m'en sortir :/
    J'explique mon soucis :

    Je cherche à faire un formulaire avec des checkbox suivi d'un input text ou la personne mettrai un valeur associé à la checkbox située sur la même ligne

    [x] "choix 1" => [valeur de ce choix]
    [x] "choix 2" => [valeur de ce choix]
    etc...

    concrétement, ceci est dans le but de proposer une liste d'erreurs courrantes... si dans le mois l'erreur a été rencontré on coche la case puis on ajoute dans le input text le nombre de fois où l'erreur à été rencontré...

    arf j'espère que je suis clair :/

    là franchement je galère... j'ai jamais été fort en ce qui concerne les tableaux mais là je vois pas comment faire...

    Merci de votre aide

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Qu'est-ce qui pose problème précisement ? La façon de faire générale ou le fait que les cases non cochées ne sont pas transmises à la page de traitement (si tu l'as pas encore vu tu verras que ça posera problème) ?

    Un petit peu de code sur ce que tu as déjà commencé ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    En fait je suppose que c'est la façon de le faire... vu que j'ai beau tourné mon truc dans tout les sens j'arrive pas à avoir ce que je veux...

    Ca c'est 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
     
    echo "<form action='act-gen-crete.php' method='POST'>";
    	$queryala = "SELECT * FROM crete_alarm"; 
    	$resultala = mysql_query($queryala) or die(mysql_error());
    	while($rowala = mysql_fetch_array($resultala))
    		{
    		$alarm_lbl = $rowala['alarm_lbl'];
    		$alarm_obj = $rowala['alarm_obj'];
    		echo "<input type='checkbox' name='ala_chk[]' value='".$alarm_obj."' />".$alarm_lbl." (".$alarm_obj.")";
    		echo "<input type='text' name='ala_chk_val[]' size='5' /><br/>";
    		}
    	echo "<br/>";
    echo "<input type='submit' value='OK'>";
    echo "</form>";
    Inutile de poster le 'act-gen-crete.php' qui tente de récupérer les variables...tout est faux, j'arrive pas à grand chose :/

    Sinon, au vu du code, ce que je veux récupérer c'est donc le "$alarm_obj" de chaque checkbox cochée avec le <input type='text'> associé à chaque ligne de checkbox...
    Evidemment je cherche à récupérer uniquement les checkbox cochées, les autres je m'en fous.
    Mon gros problème ce n'est pas de récupérer les valeurs des checkbox en fait... c'est surtout de récupérer les valeurs des checkbox avec la valeur de leur inputs associés.

    Merci pour vos réponses

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Salut,

    Une solution serai d'utiliser javascript:
    D'abord tu lie tes 2 deux input (checkbox et text) avec un id commun, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $i = 0;
    <input type="checkbox" id="box".$i." name....
    <input type="text" id="text".$i." name...
    Ensuite dans ton code javascript, tu récupère la valeur de la checkbox et son texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.getElementById('box'+i)...
    document.getElementById('text'+i)...
    En gros, c'est ça, j'ai été vite juste pour te donner une idée après si tu veux plus détail, n'hésite pas !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    désolé pour le temps de réponse mais réunion puis we...

    j'avais bien peur justement qu'on me propose du javascript :/
    je veux bien un peu plus d'aide dessus comme tu me le proposes parceque je suis pas très callé en javascript... voir pas du tout callé

    merci de ton aide

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Ah, une autre idée, sans javascript ;-)

    Tu as des 2 inputs comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $i = 0;
    		echo "<input type='checkbox' name='ala_chk[]' value='".$alarm_obj."' />".$alarm_lbl." (".$alarm_obj.")";
    print '<input type="text" name="'.$alarm_obj.'" />';
    Et la page qui récupère ton formulaire, tu as:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $mesBox= $_POST['alo_chk']; //tu récupère les checkbox cochées
    for($i=0;$i<sizeof($mesBox);$i++){
     print "case coché:".$mesBox[$i];
     print "Valeur associée:".$_POST[$mesBox[$i]]; // en effet le nom de l'input associé à une checkbox est la valeur de cette checkbox.
    Voilà, j'ai pas testé mais ça devrait marcher, peut être à quelques réglages près !

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Sans entrer dans les détails de ton code, il faut que les éléments de formulaire soient explicitement indicés :
    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
    <form action="act-gen-crete.php" method="post">
    <?php
      $queryala = 'SELECT * 
                   FROM crete_alarm'; 
      $resultala = mysql_query($queryala) 
        or die(mysql_error());
      $i = 0;
      while($rowala = mysql_fetch_array($resultala))
      {
        $alarm_lbl = $rowala['alarm_lbl'];
        $alarm_obj = $rowala['alarm_obj'];
        echo '<input type="checkbox" name="ala_chk[' . $i . ']" value="' . $alarm_obj . '" />' . $alarm_lbl . '(' . $alarm_obj . ')"';
        echo '<input type="text" name="ala_chk_val[' . $i . ']" size="5" /><br/>';
        $i ++;
      }
    ?>
    <br/>
    <input type="submit" value="OK">
    </form>
    Et pour la récupération :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
      $checkbox = $_POST['ala_chk'];
      $texte = $_POST['ala_chk_val'];
      foreach ($checkbox as $cle => $valeur)
      {
        echo 'checkbox cochée : ' . $valeur . '<br>';
        echo 'valeur associée : ' . $texte[$cle] . '<br>';
      }
    ?>

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    super !!

    j'ai pris la soluce de jeca et tout fonctionne parfaitement

    merci à tout le monde

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/02/2014, 13h28
  2. valeur par defaut dans un input text
    Par douda1989 dans le forum Zend Framework
    Réponses: 4
    Dernier message: 03/06/2012, 14h15
  3. Recupérer la valeur d'un champ HTML (input text)
    Par riadhhwajdii dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 23/03/2010, 17h33
  4. Gestion valeur par defaut d'un Input text
    Par camcam8782 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 31/07/2009, 10h57
  5. Réponses: 6
    Dernier message: 18/07/2006, 18h06

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