bouton radio et js

bouton radio et js - HTML/CSS - Programmation

Marsh Posté le 04-01-2005 à 12:15:13    

salut,
j'ai un petit probleme.
j'ai un montant dans un input text et 2 bouton radio oui / non par défault sur non.
Quand je clique sur oui, je veux que mon montant double, et quand je clique sur non, qu'il redevienne comme avant (/2 en fait).
Seulement, je ne vois pas quel élément mettre sur mes radio.
Un onclick marche pas car il suffit de cliquer sur un bouton pour faire une action, sans se soucier s'il est checked ou non.
J'ai éssayer le onchange, j'ai cru avoir réussi ( :D ) mais on est pas obligé de cliquer sur le bouton pour que ca change.
voila comment procéderiez-vous ?
merci  :hello:


Message édité par $man le 04-01-2005 à 12:16:12
Reply

Marsh Posté le 04-01-2005 à 12:15:13   

Reply

Marsh Posté le 04-01-2005 à 12:21:47    

Ben dans le onchange, tu testes la nouvelle valeur (donc si c'est oui ou non), et tu change ton input en fonction de ça...

Reply

Marsh Posté le 04-01-2005 à 12:24:35    

hum, c'est ce que j'ai fais mais ca me semble pas marcher
code :
 

Code :
  1. <form name="formule1">
  2. <input type="radio" name="toto" value="0" checked OnChange="rad();">non<br>
  3. <input type="radio" name="toto" value="1" OnChange="rad();">oui<br>
  4. <input type="text" name="lol" value="5">
  5. </form>
  6. function rad()
  7. {
  8. toto=parseInt(document.formule1.lol.value);
  9. if (document.formule1.toto[1].checked == 1){toto=2 * toto;}
  10. else if (document.formule1.toto[0].checked == 1){toto=toto / 2;}
  11. document.formule1.lol.value=toto;
  12. }


 
EDIT : je vais manger  :D , bon ap @ tous


Message édité par $man le 04-01-2005 à 12:29:08
Reply

Marsh Posté le 04-01-2005 à 12:30:27    

Et avec ça :

Code :
  1. if (document.formule1.toto[1].checked) {
  2.   toto=2 * toto;
  3. } else if (document.formule1.toto[0].checked) {
  4.   toto=toto / 2;
  5. }


 
Vu que la propriété checked renvoi un boolean...


Message édité par FlorentG le 04-01-2005 à 12:30:36
Reply

Marsh Posté le 04-01-2005 à 13:34:59    

meme probleme :(

Reply

Marsh Posté le 04-01-2005 à 13:40:05    

et si tu fais qqch comme

Code :
  1. if (document.formule1.toto.value==1) toto=toto/2;
  2. else toto=toto*2;


Reply

Marsh Posté le 04-01-2005 à 13:49:36    

non marche pas j'ai éssayé :/
a noté qu'avec un checkbox j'y étais arrivé sans pb, mais les radio c'est mieux m'a dis le chef :o,...
merci de votre aide


Message édité par $man le 04-01-2005 à 13:49:47
Reply

Marsh Posté le 04-01-2005 à 13:57:25    

Est ce que au moins document.formule1.toto renvoi quelque chose ?
sinon faut mettre dans ta balise form un id, genre :

Code :
  1. <form id="formulaire1">
  2. ...


Puis dans ton script :

Code :
  1. var zeForm = document.getElementById("formulaire1" );
  2. if(zeForm.toto[0]......


 
Surtout que l'attribut name d'un form ne doit plus être utilisé, il a été laissé dans la recommandation HTML4 par soucis de compatibilité...

Reply

Marsh Posté le 04-01-2005 à 14:04:45    

Ok,
j'éssaie ca, sinon petit HS ou peut on avoir les recommandation HTML4 ? genre abandonner ca pour ca..
merci

Reply

Marsh Posté le 04-01-2005 à 14:11:27    

bon voila, alors sur mozilla ca marche impec (normal) mais sous IE ca déconne (normal aussi :D).
On dirait que c'est le onchange qu'il aime pas, en effet quand je clic sur "oui" il met pas le double, il faut que je clic ailleurs ensuite.
Merci de ton aide FlorentG, j'aurais au moins appris un truc :). Faut dire que j'utilise pas beaucoup le js...
:hello:


Message édité par $man le 04-01-2005 à 14:12:05
Reply

Marsh Posté le 04-01-2005 à 14:11:27   

Reply

Marsh Posté le 04-01-2005 à 14:26:23    

pour le html 4 il faut aller sur le w3c www.w3c.org

Reply

Marsh Posté le 04-01-2005 à 14:29:09    

marci, je vais voir ca quand j'aurais trouver la logique (?) d'IE
:)


Message édité par $man le 04-01-2005 à 14:30:27
Reply

Sujets relatifs:

Leave a Replay

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