[Résolu] Javascript qui test checkbox cochée

Javascript qui test checkbox cochée [Résolu] - HTML/CSS - Programmation

Marsh Posté le 25-11-2010 à 09:25:52    

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/589109SanstitreJPG.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/792172Sanstitre2JPG.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 :
  1. <!------------------------------------------------ Question 6 ------------------------------------------------>
  2. <div id="Q6">
  3. <font size="4" color="blue"><b>6 - Si Oui, quel type de formation ?  </b></font>
  4. <br><br>
  5. <font size="3" color="black"><ul>
  6.  <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="Diplôme universitaire"> Diplôme universitaire<br>
  7.  <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="RHST"> RHST (formation Giropharm par des tabacologues CHU)<br>
  8.  <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="Ma formation officinale.com"> Ma formation officinale.com<br>
  9.  <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="Fiche Technique CESPHARM"> Fiche Technique CESPHARM<br>
  10.  <INPUT TYPE="checkbox" NAME="Ques6[]" VALUE="Autre : " onclick="Coche6();"> Autre...<br><br>
  11.  <textarea id="Question6Area" onclick="if (this.value=='Précisez') this.value=''" style="resize: none;" name="Reponse6" cols="50" rows="4">Précisez</textarea>
  12. </ul>
  13. <br><br>
  14. </div>


 
 
Et maintenant le code javascript qui fonctionne pas : (il n'active jamais le textarea et reste toujours grisé)
 

Code :
  1. function Coche6()
  2. {
  3.  if ($_POST['Ques6'] == "Autre : " )
  4.  {
  5.   document.getElementById('Question6Area').disabled = false;
  6.  }
  7.  else
  8.  {
  9.   document.getElementById('Question6Area').disabled = true;
  10.  }
  11. }
  12. }


 
 
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


Message édité par lokomass le 25-11-2010 à 11:59:58
Reply

Marsh Posté le 25-11-2010 à 09:25:52   

Reply

Marsh Posté le 25-11-2010 à 09:34:43    

Est ce que tu ne devrai pas plutot utiliser des boutons radio(  qui ne permettent qu'un choix ) ?  
Sinon, comment tu gère le fait que je coche "autre" et "fiche technique"

Reply

Marsh Posté le 25-11-2010 à 09:41:56    

En fait non, il faut qu'on puisse répondre à plusieur choses. Moi je ne veux m'occuper que de la case "Autre", juste au niveau graphique, pour faire en sorte que lorsque elle ne soit pas cochée on ne puisse pas écrire dedans, après c'est juste du détail je te l'accorde (d'un point de vue fonctionnement et récupération des réponses, ça fonctionne).
Je ne sais pas si techniquement c'est réalisable, voilà pourquoi je fais appel à vos services

Reply

Marsh Posté le 25-11-2010 à 10:11:56    

flo850 as-tu vu ce somptueux mélange entre javascript et PHP ?


---------------
Blablaté par Harko
Reply

Marsh Posté le 25-11-2010 à 10:13:24    

a non [:rofl]

Reply

Marsh Posté le 25-11-2010 à 11:24:36    

Ben si je mélange des trucs tu veux bien me les expliquer stp ?
Je suis débutant donc je suis la pour apprendre.

Reply

Marsh Posté le 25-11-2010 à 11:34:33    

( je me moquais surtout de moi de n'avoir pas pu lire ton code)
 
Le php est exécute  uniquement à la génération de la page.
$_POST['Ques6'] contient donc la valeur initiale de Ques6 ( si elle existe) , mais pas la valeur qui est actuellement cochée
 
tu devrai faire quelque chose du genre  

Code :
  1. document.getElementById('Ques6').value


pour avoir cette valeur( après avoir mis un id sur Ques6)
 
Mais il y a plus simple :  
utilise :  onclick="Coche6(this);"
 

Code :
  1. function coche6(checkbox)
  2. {
  3.    document.getElementById('Question6Area').disabled = checkbox.checked ;
  4. }


Reply

Marsh Posté le 25-11-2010 à 11:52:56    

Ahhh !! Oui je comprend mieux maintenant !
On y est presque mais pas encore, parce que ce que tu m'as donné rend l'inverse lol. Activation du textarea que lorsque la case est décoché et inversement.
J'ai essayé tout naivement de remplacer "disabled" par "enabled" mais ça marche plus !

Reply

Marsh Posté le 25-11-2010 à 11:54:30    

oups, j'ai fait ça un peu vite

 
Code :
  1. function coche6(checkbox)
  2. {
  3.    document.getElementById('Question6Area').disabled = !checkbox.checked ;
  4. }


disabled est une propriété de ta textarea , donc tu peux en changer la valeur
enabled n'existe pas


Message édité par flo850 le 25-11-2010 à 11:54:58
Reply

Marsh Posté le 25-11-2010 à 11:59:42    

C'est parfait, un grand merci à toi !!

Reply

Sujets relatifs:

Leave a Replay

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