2013-09-03 3 views
1

J'essaie de faire un programme qui enregistre l'état du bouton radio et le vérifie. C'est mon code mais je ne sais pas ce qui ne va pas. Aidez-moi s'il vous plaîtEnregistrer le bouton radio d'état javascript-html

<script> 
function saveState(){ 
    var ans1 = document.getElementById('grupo1'); 
    if (ans1.value == 1) 
    { 
     ans1.setAttribute("checked","checked"); 
     ans1.checked = true; 
    } 
</script> 

<input type="radio" name="group" id="grupo1" value="1"> One 
<input type="radio" name="group" id="grupo2" value="0"> Two 
<input type="submit" onclick="saveState()" value="update"> 

Répondre

2

Essayez ceci:

<script> 
    function saveState(){ 
     var ans1 = document.querySelector('input[name="group"]:checked').value; 

     if (ans1.value == 1){ 
       ans1.setAttribute("checked","checked"); 
       ans1.checked = true; 
     } 
    } 
    </script> 
+1

Juste pour clarifier les choses, il signifie que vous manquez le support de fermeture avant '' – user1477388

1

Vous voulez dire peut-être cela?

code Vous ne fait pas beaucoup de sens à moins que le bouton grupo1 peut changer la valeur

Le script suivant suppose que vous disposez d'un script cookie classique quelque part

<script> 
window.onload=function() { 
    if (getCookie("grupo1")=="true") { 
    document.getElementById('grupo1').click(); 
    } 
    // either this 
    document.getElementById('grupo1').onclick=function() { 
    setCookie("grupo1","true") 
    } 
    // or this - depending on when you want to save the state 
    document.getElementById("form1").onsubmit=function() { 
    setCookie("grupo1",document.getElementById('grupo1').checked?"true":"false"); 
    } 
} 
</script> 
<form id="form1"> 
<input type="radio" name="group" id="grupo1" value="1"> One 
<input type="radio" name="group" id="grupo2" value="0"> Two 
<input type="submit" value="update"> 
</form> 
1

étant par conséquent dans votre démarche vers les supports en plaçant aide à éviter des situations comme celle-ci. Par exemple, si vous placez le crochet d'ouverture sur des fonctions, des boucles, des instructions conditionnelles (if) etc. sur la même ligne que la condition elle-même (comme vous le faites ci-dessus à la déclaration de la fonction), vous n'aurez que chercher les fermants. D'un autre côté, si vous placez les parenthèses d'ouverture et de fermeture sur leur propre ligne, votre code sera beaucoup plus symétrique verticalement, ce qui facilite le repérage des parenthèses manquantes si vous traitez de gros morceaux de code.

Vous devriez consulter cet article qui traite de cette question: http://encosia.com/in-javascript-curly-brace-placement-matters-an-example/