Javascript qui test checkbox cochée

Javascript qui test checkbox cochée - Delphi/Pascal - Programmation

Marsh Posté le 28-09-2011 à 13:28:26    

Bonjour à tous,
 
Je suis un peu embêté, je ne trouve pas la solution à mon problème.
J'ai réalisé un QCM assez basique.
Seulement voilà, à une question j'ai ceci :
 
http://img4.hostingpics.net/pics/5 [...] treJPG.jpg
 
J'aimerais créer un code en Javascript, qui me permette, lorsque je coche la case "Autre" cela m'active le champ du dessous, jusque la c'est ok :
 
http://img4.hostingpics.net/pics/7 [...] re2JPG.jpg
 
La difficulté maintenant est que lorsque je redécoche (et etc etc) la case j'aimerais qu'il se redésactive. Et ça ça ne fonctionne pas.
Voici ce que j'ai fait :
 
La question :
 
Code :
 
    <!------------------------------------------------ Question 6 ------------------------------------------------>
    <div id="Q6">
    <font size="4" color="blue"><b>6 - Si Oui, quel type de formation ?  </b></font>
    <br><br>
    <font size="3" color="black"><ul>
     <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="Diplôme universitaire"> Diplôme universitaire<br>
     <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="RHST"> RHST (formation Giropharm par des tabacologues CHU)<br>
     <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="Ma formation officinale.com"> Ma formation officinale.com<br>
     <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="Fiche Technique CESPHARM"> Fiche Technique CESPHARM<br>
     <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="Autre : " onclick="Coche6();"> Autre...<br><br>
     <textarea id="Question6Area" onclick="if (this.value=='Précisez') this.value=''" style="resize: none;" name="Reponse6" cols="50" rows="4">Précisez</textarea>
    </ul>
    <br><br>
    </div>
 
 
 
 
Et maintenant le code javascript qui fonctionne pas : (il n'active jamais le textarea et reste toujours grisé)
 
Code :
 
    function Coche6()
    {
     if ($_POST['Ques6'] == "Autre : " )
     {
      document.getElementById('Question6Area').disabled = false;
     }
     else
     {
      document.getElementById('Question6Area').disabled = true;
     }
    }
    }
 
 
 
 
Je précise que je suis débutant.
Je rappel rapidement le problème : quand on coche la case "Autre" de Ques6, on active le textarea, lorsqu'on décoche, on le désactive.... etc etc
 
 
Merci d'avance

Reply

Marsh Posté le 28-09-2011 à 13:28:26   

Reply

Marsh Posté le 28-09-2011 à 14:11:44    

On peut savoir le rapport avec la catégorie Delphi/Pascal :??:
 
Edit : concernant ta question, déjà $_POST, c'est une variable côté PHP (donc serveur), donc c'est normal que ça marche pas.
 

Code :
  1. var myitem = document.getElementById('Ques6');
  2. for (var loop=0; loop < myitem.length; loop++) {
  3.    if (myitem[loop].value == 'Autre : ') {
  4.        if (myitem[loop].checked == true) {
  5.            document.getElementById('Question6Area').disabled = false;
  6.        } else {
  7.            document.getElementById('Question6Area').disabled = true;
  8.        }
  9.    }
  10. }


Cela dit, ça serait plus joli en utilisant className plutôt que disabled pour cacher/afficher ton champ. dans ton css, tu mets :

Code :
  1. .hide {
  2.  display: none;
  3. }
  4.  
  5. .show {
  6.  display: block;
  7. }


 
et dans ton js :

Code :
  1. var myitem = document.getElementById('Ques6');
  2. for (var loop=0; loop < myitem.length; loop++) {
  3.    if (myitem[loop].value == 'Autre : ') {
  4.        if (myitem[loop].checked == true) {
  5.            document.getElementById('Question6Area').className= 'show';
  6.        } else {
  7.            document.getElementById('Question6Area').className= 'hide';
  8.        }
  9.    }
  10. }


 
et dans ton HTML :  
<textarea id="Question6Area" onclick="if (this.value=='Précisez') this.value=''" style="resize: none;" name="Reponse6" class="show" cols="50" rows="4">Précisez</textarea>
 
Par ailleurs, je te recommande d'apprendre le xhtml car là, tu code comme dans les années 90 :/ Ex : je ne vois pas de balise <form> pour ton formulaire.


Message édité par rufo le 28-09-2011 à 14:29:13

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed