Checkbox affiche une valeur dans un champ text

Petit nouveau ! | 3 Messages

29 févr. 2012, 01:10

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. De plus il faudrait que ce soit possible si aucune checkbox n'est coché que l'on puisse y inscrire une valeur.

J'ai fait la demande sur le forum PHP mais on m'a dirigé vers le javascript. Je ne connais pas grand chose au javascript.

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 "<br/><b>" . $_POST['mon_champ'][$i] . "</b>";
    }
}
 
// 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&nbsp;&nbsp;&nbsp;  <input type="checkbox" name="mon_champ[]" value="30" <?php if(est_selectionne("Option 1")) { echo 'checked'; } ?>/>oui
    &nbsp;&nbsp;&nbsp;<input type="checkbox" name="mon_champ[]" value="0" <?php if(est_selectionne("Option 2")) { echo 'checked'; } ?>/>non
    &nbsp;&nbsp;&nbsp;<input type="checkbox" name="mon_champ[]" value="" <?php if(est_selectionne("Option 3")) { echo 'checked'; } ?>/>N/A
	&nbsp;&nbsp;&nbsp;<input type="text" name="mon_champ[]" <?php echo $_POST['mon_champ'][$i]; ?> <?php if(est_selectionne("Option 4")) { echo 'checked'; } ?>/>
    <br /><br /><input type="submit" value="OK"/>
</form>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 févr. 2012, 06:37

Salut,

À tu essayer un truc en js ?

Le plus simple étant de donner un id à tes Input de type texte (pour cela un simple incrément de numéro)

Tu crée une fonction js qui prend ce numéro en paramètre et qui va agir sur le champs texte.
Tu auras besoin de getElementById pour agir sur le champ.
Tu peux aussi prévoir une fonction pour nettoyer le champs texte quand on clic sur non.

C'est assez simple à faire, essai et revient si tu n'y arrive pas ;)

Ah et il faut que tu utilise le onclic ou onchecked (je sais plus la pour le coup faut voir) pour déclencher la fonction js

@+
Il en faut peu pour être heureux ......