Forum Clubic

Script checkbox...modif

Bonjour,

j’utilise le script suivant qui permet d’afficher du texte dans un champ <input type=“text” en cochant une ou plusieurs checkbox, il fonctionne parfaitement mais j’aimerai rajouter 2 autres <input type=“text” avec des checkbox, quels sont les modifications à effectuer? si vous pouvez m’aider ou me mettre sur la bonne piste, ce serai sympas… :wink:


Première valeur Seconde valeur Troisième valeur

Tu as de la chance que je sois d’humeur massacrante mais généreuse.

Code d’un champ de type texte :

<input type="text" name="champ" size="50">

Code d’un champ de type box :

<input type="checkbox" name="cocher" value="1" onclick="change('Première valeur');" > Première valeur

Ce code html se place à n’importe quel endroit tant qu’il est entre les deux balises “” et biensure à l’extérieur de tout autre balise (les balises sont délimitées par les signes “<” et “>” .

Après ne compte pas sur moi pour te donner un truc tout fait, essaies de réflechir et si tu comprends pas pose ta question.
Bonne soirée!

Merci DarKChAm, désolé j’ai mal exposé mon problème,
voila ce que j’aimerai faire:

``` lorsque je coche une checkbox ci dessous le texte s'affiche dans ce champ_1 ```

Première valeur
Seconde valeur
Troisième valeur

``` lorsque je coche une checkbox ci dessous le texte s'affiche dans ce champ_2 ```

Première valeur
Seconde valeur
Troisième valeur

Ok, là c’est du javascript, je suis pas expert mais je vais te proposer la manière dont j’aurais procédé. C’est surement pas très propre mais je connais mal le JS :confused: !

<html>
<head>
<script language="javascript" type="text/javascript">
function change(code, ch)
{
  var champ = document.getElementById(ch);
  var valeur = champ.value;
  if(valeur.search(code) != -1)
  {
    valeur = valeur.replace(' '+code+' ', '');
    champ.value = valeur;
    return false;
  }
  else
  {
    champ.value += ' '+code+' ';
    return true;
  }
}
</script>
</head>
<body>
<form name="form">
  <input type="text" name="champ_1" id="champ_1" size="50"><br />
  <input type="checkbox" name="cocher" value="1" onclick="change('Première valeur', 'champ_1');" > Première valeur
  <input type="checkbox" name="cocher" value="2" onclick="change('Seconde valeur', 'champ_1');"> Seconde valeur
  <input type="checkbox" name="cocher" value="3" onclick="change('Troisième valeur', 'champ_1');"> Troisième valeur<br />
  <br />
  <input type="text" name="champ_2" id="champ_2" size="50"><br />
  <input type="checkbox" name="cocher" value="1" onclick="change('Première valeur', 'champ_2');" > Première valeur
  <input type="checkbox" name="cocher" value="2" onclick="change('Seconde valeur', 'champ_2');"> Seconde valeur
  <input type="checkbox" name="cocher" value="3" onclick="change('Troisième valeur', 'champ_2');"> Troisième valeur
</form>

</body>
</html>

Je suis vraiment d’une âme charitable ce soir :slight_smile: !
Bonne soirée!

Merci beaucoup DarKChAm de m’avoir consacré un peu de temps, ça fonctionne parfaitement :clap:

Bon week-end…

Ho mais il est tout naturel, justre niveau optimisation je pense qu’il y a plus simple que de passer par un getElementById, mais je ne sais pas comment :confused: !

A l’avenir si vous décidiez de rajouter un champs texte, donnez-lui n’importe quel id, et mettez en tant que deuxième paramètre pour la fonction change l’id du texte concerné.