Onclick dune fonction

Bonsoir ,

j'ai une case a cocher comme ça :

<input type="checkbox" name="checkbox" value="checkbox" Title="voir le Code" unselectable="on"
onclick='choix()'>
</input>

elle appel une fonction comme ça :

function choix(){
document.getElementById("bonjour").innerText = document.getElementById("bonjour").innerHTML
}

quand je coche desu ça marche mais je voudrais quand je décoche elle revien a letat intiale

merci

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Tu mets une conditionnelle dans choix(), si la checkbox est cochée, tu écris le texte de bonjour, sinon tu effaces le texte.
    1. oui,mais je ne sais pas comment ,j'ai mis comme ça :

      function choix(){

      if (this.checked) {

      document.getElementById("bonjour").innerText = document.getElementById("bonjour").innerHTML
      }
      else
      {

      //je ne sais pas quoi mettre
      }

      }
      1. Ben je peux pas t'aider, c'est toi qui définit ce qu'est l'état initial de la zone bonjour. Il y a quoi dedans à la base ?
        Note : tu dois inverser ta conditionnelle, si la case est cochée, c'est là qu'il faut remettre à l'état initial ; c'est pas ce que tu as écrit...
    2. au début ya rien dans ma zone (div) ,et quand je vais cocher la case a cocher il fais :

      document.getElementById("bonjour").innerText = document.getElementById("bonjour").innerHTML

      cad il donne le code html de ce que j'ai ecris dans le meme div nommé "bonjour" ,et si je décoche il dois revenir a l'etat initiale cad en mode normal

      exemple de l'editeur:

      je vais ecrire salut en gras ,et quand je vais cocher la case il va me donner le résultat dans le meme div "bonjour" et va ecrire :

      <b>salut</b>

      pour faire le code ça marche ce qui est un peu difficile c'est de revenir a letat initiale l'inverse
      1. Y'a un truc que je comprends pas, tu dis "je vais ecrire salut en gras " : comment tu fais pour écrire directement du texte en gras dans un div ?
        Pour revenir à l'état initial, t'as qu'à utiliser une variable qui le gardera en mémoire, je vois pas vraiment la difficulté en fait :/
    3. j'essaye de faire comme ça :

      function choix(){

      if (this.checked) {

      document.getElementById("bonjour").innerText = document.getElementById("bonjour").innerHTML ;
      }
      else
      {

      document.getElementById("bonjour").innerHTML=document.getElementById("bonjour").innerText ;

      }

      }

      mais ça marche pas encore
      1. ça va être difficile d'avancer si tu tiens pas compte de mes remarques..
    4. le salut en gras c'est avec un bouton genre :

      <button Title="Bold" unselectable="on" onclick='document.execCommand("Bold");
      document.getElementById("EditDIV").focus()'></button>

      et ma zone de saisie c'est un div nommé "bonjour"

      **************
      * bouton en gras*
      **************
      ***********************************************************************
      +
      Mon div nommé bonjour
      +
      ***********************************************************************
      1. Ok, j'y vois plus clair. Pour revenir à l'état initial, il suffit donc de sauver le contenu texte de ton div dans une variable à chaque fois que tu actives la checkbox (pour montrer la source html). Et inversement quand tu reviens à la version texte, tu charges la variable...
    5. oui ,j'ai fais comme ça :

      function choix(){
      var=document.getElementById("bonjour").innerText

      if (this.checked) {

      document.getElementById("bonjour").innerText = document.getElementById("bonjour").innerHTML
      }

      else
      {

      var

      }

      }

      mais ça marche pas ,peu etre la syntaxe!!
      1. var est un nom réservé en javascript : https://www.commentcamarche.net/contents/588-javascript-les-variables
        Par ailleurs, tu dois rendre ta variable globale, là t'es parti pour l'écraser à chaque appel de la fonction choix.