Checkbox affiche une valeur dans un champ text

Petit nouveau ! | 3 Messages

28 févr. 2012, 18:48

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é 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 "<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>

ViPHP
xTG
ViPHP | 7331 Messages

28 févr. 2012, 19:02

Pour modifier en direct le DOM de la page il faut utiliser Javascript.
Exemple : http://forum.zebulon.fr/javascriptmodif ... 91850.html

Petit nouveau ! | 3 Messages

28 févr. 2012, 21:25

Bonjour xTG tu veux dire qu'il faut que j'aille poster ma question sur le forum de Javascript? Car j'ai été voir le liens que tu me proposes et malheureusement ça ne m'éclaire pas du tout. De toute façon ils n,ont pas trouvé de solution.

Merci

ViPHP
xTG
ViPHP | 7331 Messages

29 févr. 2012, 09:38

Oui je veux dire que la solution est bien javascript et non PHP (qui est côté serveur).
Cependant leur problème était tout autre, et la fonction qu'il donne est tout à fait fonctionnelle.

Il faut travailler le DOM comme il le fait en modifiant l'attribut value de l'input d'id hexa, et ce grâce à une fonction appelée sur l'évènement onclick de ta checkbox.

Eléphant du PHP | 179 Messages

29 févr. 2012, 12:48

<input type="text" name="mon_champ[]" <?php echo $_POST['mon_champ'][$i]; ?> <?php if(est_selectionne("Option 4")) { echo 'checked'; } ?>/>
 
ca m'étonnerait beaucoup que tu arrives à checké un textbox pour commencé
Ensuite pour mettre une valeur dans une textbox c'est l'attribut value ( par exemple value="ma_valeur" )

Ensuite, si tu veux que cela change dynamiquement, déja je pense que des radios boutons seraient plus adaptées a un yes/no formulaire, puis crée une fonction JS que tu appelles au "onclick" sur tes radios qui va changer l'atribut de ta text box