2014-07-23 6 views
0

J'ai lu plusieurs messages stackoverflow mais aucun n'a semblé m'aider à comprendre où se trouve mon erreur. J'essaie d'avoir deux boutons radio qui par défaut le formulaire long est vérifié et le formulaire court n'est pas vérifié, mais si le formulaire court est coché, le formulaire long n'est pas vérifié. Si l'on devait également décocher le formulaire court, le formulaire long devrait être coché par défaut.Basculer entre deux boutons radio

<input type="radio" id="shortForm" onChange="toggle(this);"> Short Form 
<input type="radio" id="longForm" onChange="toggle(this);"> Long Form 

function toggle(chkBox) 
{  
    if (chkBox.checked) 
    { 
     var previousCheckId; 

     if (previousCheckId) 
     { 
      document.getElementById(previousCheckId).checked = false; 
     } 
     previousCheckId = chkBox.getAttribute('id'); 
    } 
} 

http://jsfiddle.net/na8qL/

J'essaie d'éviter d'utiliser jquery et il suffit d'utiliser pur javascript et html.

J'ai obtenu ceci jusqu'à présent mais mes mots ne sont pas alignés correctement? Comment puis-je les faire alligned?

<input type="radio" id="shortForm" name="frm"style="position:absolute; top:10px; right:875px"> Short Form </input> 
<input type="radio" id="longForm" name="frm" style="position:absolute; top:10px; right:475px"> Long Form </input> 
+1

boîtes de radio ont besoin d'un attribut de nom, et le nom doit être le même parmi les boutons du groupe. De plus, votre violon ne correspond pas au code de votre question. – j08691

Répondre

3

Pas besoin de JavaScript. Donnez des noms aux éléments:

<input type="radio" id="shortForm" name="frm"> Short Form 
<input type="radio" id="longForm" name="frm"> Long Form 

jsFiddle: http://jsfiddle.net/bjyjv/

+0

J'ai ajouté dans un style, mais les mots ne sont pas en ligne? Existe-t-il un moyen de résoudre ce problème ou est-ce à partir du stlye lui-même? J'ai ajouté dans une édition dans ma question. Merci. – user3767481