Checkbox affiche une valeur dans un champ text [Résolu]

rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 28 févr. 2012 à 20:34 - Dernière réponse : rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention
- 1 mars 2012 à 16:47
Bonjour
Je suis débutant en PHP et j'essaie de faire un formulaire d'évaluation. Le formulaire aura plusieurs questions sous ce format:

Question 1 oui non n/a et a la fin un textbox.

Lorsque le checkbox «oui» est sélectionné j'aimerais qu'il affiche une valeur dans le textbox et même chose pour les autre checbox.

Voici ce que j'ai fait jusqu'ici mais malheureusement je ne suis pas capable de faire affiche la valeur dans le textbox.

Je vous remercie a l'avance pour votre aide

<?php
if (isset($_POST['mon_champ'])) {
    echo "Vous avez choisi :";
    for ($i 0, $c count($_POST['mon_champ']); $i < $c; $i++) {
        echo "
 " . $_POST['mon_champ'][$i] . " ";
    }
}
 
// Renvoie vrai si $option fait partie du résultat
function est_selectionne($option) {
    if (!isset($_POST['mon_champ'])) {
            return FALSE;
    }
    for ($i  0, $c count($_POST['mon_champ']); $i < $c; $i++) {
        if ($_POST['mon_champ'][$i] == $option) {
            return TRUE;
        }
    }
    return FALSE;
}
?>



<form method="POST">
  QUESTION 1     />oui
       />non
       />N/A
    <?php if(est_selectionne("Option 4")) { echo 'checked'; } ?>/>
    


</form>
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 29 févr. 2012 à 23:19
3
Merci
Salut,

Je me suis permis de reprendre ton code, tu devrais l'étudier en détail, et si tu as des questions n'hésites surtout pas à les poser :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>test</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  </head>
  
    

<?php

$lst = array();

if (!empty($_POST['mon_champ']['choice']) && is_array($_POST['mon_champ']['choice']))
  {
    foreach ($_POST['mon_champ']['choice'] as $val)
      {
$lst[] = $val;
      }
  }
if (!empty($_POST['mon_champ']['txt']))
  $lst[] = $_POST['mon_champ']['txt'];

if (!empty($lst))
  {
    echo 'Vous avez choisi :

';
    foreach ($lst as $val)
      {
echo '<li>' . $val . '</li>';
      }
    echo '';
  }
?>
    


    <form method="post" action="">
      <fieldset>
<legend>Question 1</legend>
<?php

$val_lst = array(0, 10, 20, 30);
foreach ($val_lst as $val)
{
  $id = uniqid('q1_');

  $chk = '';
  if (!empty($_POST['mon_champ']['choice']) && in_array($val, $_POST['mon_champ']['choice']))
    $chk = ' checked="checked"';

  echo '<label for="', $id, '">', $val, '</label>
';
}

?>
" />
      </fieldset>
      


      

    </form>
  
</html>

Merci TychoBrahe 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de TychoBrahe
rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 28 févr. 2012 à 23:05
0
Merci
J'ai aussi oublié de mentionner que l'utiloisateur soit aussi capable d'entre une valeur dans la textbox.

merci
Commenter la réponse de rodlake
rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 1 mars 2012 à 00:40
0
Merci
Merci TychoBrahe
Je vais regarder ce que tu a fais et je te reviens.
Commenter la réponse de rodlake
rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 1 mars 2012 à 15:12
0
Merci
Bonjour Tychobrahe

J'ai regardé et si je comprends plutot que d,avoir une valeur pour chaque checkbox tu as mis tout ca dans un array.
J'ai poursuivi mes recherches et il semble que ce que je désire faire relève plutôt du Javascript. Merci pour le temps que tu as pris et je vais conserver ton bout de code précieusement cela va surement m,être utile pour le reste de mon projet. Surtout voir la structure de ton code.
Encore merci
Commenter la réponse de rodlake
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 1 mars 2012 à 16:24
0
Merci
Salut,

Juste pour préciser que, si j'ai utilisé un checkbox pour reprendre ton code, dans le cas d'un choix unique (oui, non, n/a), tu devrais plutôt utiliser un bouton radio. En fait je n'avais pas trop prêté attention au texte que tu as mis avant ton code, j'en suis désolé. Je te confirme que, pour avoir ton champ texte uniquement lorsque "oui" est coché, tu dois utiliser du javascript (très simple). J'insisterais sur le fait que, même si ce champ ne s'affiche que si "oui" est sélectionné, tu ne peux pas garantir qu'il ne soit pas remplis quand même si un autre choix est sélectionné. Tu dois donc vérifier ceci côté serveur également.

Bref, n'hésites pas à poster ce que tu as modifié, même si c'est juste pour voir comment il est possible d'améliorer.
Commenter la réponse de TychoBrahe
rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 1 mars 2012 à 16:47
0
Merci
Salut

Je me suis trouvé un bout de code JS que j'ai un peu modifié. Il répond à mes besoins mais comme tu le dis il est possible d'activer un bouton et inscrire autre chose dans le textbox....pas fameux. De plus je suis incapable de récupérer la valeur du textbox....le passage de JS à PHP m'embête.
J'ai posté sur le forum JS voici le liens Comment recupere valeur text box.
Encore merci pour ton aide.
Commenter la réponse de rodlake

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.