Question rapide.. evenements Javascript

Question rapide.. evenements Javascript - HTML/CSS - Programmation

Marsh Posté le 04-09-2004 à 18:36:34    

Voila, j'ai un formulaire...
j'ai une checkbox et deux boutons d'option
suivant le shema suivant
 
[]video1
()VHS ()DVD
 
je veux que lorsque l'utilisateur selection "VHS" ou "DVD" avec les boutons d'option que ça valide la checkbox automatiquement...
 
Je sais qu'il faut utiliser "onclick", imaginons que la checkbox porte le nom "name=video1"... je mets quoi derriere mon onclick?
 
onclick="document.form.video1.selected" ?
(je connais pas bien le javascript... ne vous moquez pas!lol)
 
Merci d'avance!
 
Freed

Reply

Marsh Posté le 04-09-2004 à 18:36:34   

Reply

Marsh Posté le 04-09-2004 à 19:46:45    

Code :
  1. <input type='checkbox'id='lesvideos[18]' name='lesvideos[18]' value='18'> Video n°18 <br/>
  2. VHS <input onclick="document.form.lesvideos[18].checked=true;"  type="radio" name="media_video18" value="vhs" checked />
  3. DVD <input onclick="document.form.lesvideos[18].checked=true;" type="radio" name="media_video18" value="dvd"/>


 
Voici la reponse :
 
Erreur:"'document.form.lesvideos' a la valeur Null ou n'est pas un objet ... :(((
Code : 0
 
:??:


Message édité par freed102 le 04-09-2004 à 19:47:46
Reply

Marsh Posté le 04-09-2004 à 20:08:09    

nouvelle erreur :
 
voici le code  

Code :
  1. <p> <input type='checkbox' onclick='Thetotal(16,59);' id='lesvideos[n16]' name='lesvideos[n16]' value='16'> Video n°16 <br/>VHS <input onclick="document.forms.emb.lesvideos[n16].checked=true;"  type="radio" name="media_video16" value="vhs" checked />
  2. DVD <input onclick="document.forms.emb.lesvideos[n16].checked=true;" type="radio" name="media_video16" value="dvd"/>
  3. </p>


 
voici l'erreur :  
"erreur: "n16" est indefini
 
... pleaaaaaase !!! help me !

Reply

Marsh Posté le 04-09-2004 à 20:33:16    

Bien pour ceux que ça peut interesser... j'ai trouvé uine solution :
 

Code :
  1. <input type='checkbox' onclick='Thetotal(19,69);' id='lesvideos19' name='lesvideos[n19]' value='19'> Video n°19 <br/>VHS <input onclick="
  2.     if (document.forms.emb.lesvideos19.checked==false)
  3.     {
  4.     document.forms.emb.lesvideos19.checked=true;
  5.     Thetotal(19,69);
  6.     }
  7.     ;"  type="radio" name="media_video19" value="vhs" checked />
  8. DVD <input onclick="
  9.     if (document.forms.emb.lesvideos19.checked==false)
  10.     {
  11.     document.forms.emb.lesvideos19.checked=true;
  12.     Thetotal(19,69);
  13.     }
  14.     ;" type="radio" name="media_video19" value="dvd"/>


 
ça marche tres bien


Message édité par freed102 le 04-09-2004 à 20:35:18
Reply

Marsh Posté le 04-09-2004 à 21:58:27    

tu n'as pas l'impression de parler tout seul :)
 
Plus sérieusement, il serait plus propre de faire une fonction pour ce genre de chose

Reply

Marsh Posté le 04-09-2004 à 22:01:01    

Lord ii a écrit :

tu n'as pas l'impression de parler tout seul :)
 
Plus sérieusement, il serait plus propre de faire une fonction pour ce genre de chose


 
ouai je sais mais là je suis deja content d'avoir reussi à faire ça ... je connais pas le javascript et là ya deja une 10aine de fonctions sur la page... (j'ai repris un site qui était deja existant alors pour se retrouver dans le charabia des autres c pas toujours facile!)

Reply

Marsh Posté le 04-09-2004 à 22:03:17    

Si tu y penses encore un peu, tu va voir tout l'interet de faire une focntion.  
 
1- Cela rendra le code HTML plus clair ( toujours décomposer, le dynamique et le statique au maximum )
 
2- Dans le cas actuel, si tu dois faire un changement, tu dois le faire deux fois, alors qu'avec une fonction tu ne le ferais qu'une seule fois

Reply

Marsh Posté le 04-09-2004 à 22:12:46    

oui mais là ya deux fonctions imbriquées

Reply

Marsh Posté le 04-09-2004 à 22:16:44    

Voila ce que je propose :
 
function checking_the_box(videonum,id,price)
{
 if (document.forms.emb.videonum.checked==false)  
                    {  
                    document.forms.emb.videonum.checked=true;  
                    Thetotal(id, price);  
                    }
}
 
checking_the_box("lesvideos".$rows['id'].",".$rows['id'].",".(($lg==1)?$rows['priceEU']:$rows['priceUS'])." )

Reply

Marsh Posté le 06-09-2004 à 10:55:26    

ouai bah c pas si simple... j'ai laissé l'ancienne formule (sans les fonctions)

Reply

Marsh Posté le 06-09-2004 à 10:55:26   

Reply

Marsh Posté le 06-09-2004 à 11:17:59    

Encore une énième fois, perd cette sale habitude de ne pas utiliser les id :
 
document.getElementById('ton_id_de_ton_element')... à la place des affreux document.forms...


---------------
Expert en expertises
Reply

Marsh Posté le 06-09-2004 à 12:06:40    

Hermes le Messager a écrit :


document.getElementById('ton_id_de_ton_element')... à la place des affreux document.forms...


 
Qu'as tu contre document.forms ? C'est dans le DOM2 HTML.
 
Par contre, il faut effectivement utiliser document.forms pour ce qu'il est, c'est à dire une collection (idem pour les objets qu'il contient):
 
document.forms['emb'].elements['videonum']

Reply

Marsh Posté le 06-09-2004 à 12:27:21    

bobe a écrit :

Qu'as tu contre document.forms ? C'est dans le DOM2 HTML.
 
Par contre, il faut effectivement utiliser document.forms pour ce qu'il est, c'est à dire une collection (idem pour les objets qu'il contient):
 
document.forms['emb'].elements['videonum']


 
Je trouve que form est inutilement utilisé la plupart du temps.


---------------
Expert en expertises
Reply

Sujets relatifs:

Leave a Replay

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