保存状态单选按钮javascript-html

时间:2013-09-03 16:08:32

标签: javascript html dom

我正在尝试执行一个保存单选按钮状态并检查它的程序。这是我的代码,但我不知道它的错误。请帮帮我

<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">

3 个答案:

答案 0 :(得分:2)

试试这个:

<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 :(得分:1)

你或许是指这个?

除非grupo1按钮可以更改值

,否则您的代码没有多大意义

以下脚本假设您在某处具有标准cookie脚本

<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>

答案 2 :(得分:1)

因此,你的方法是放置括号,这有助于防止像这样的情况。

例如,如果将开括号放在与条件本身相同的行上的函数,循环,条件(if)语句等(就像你在函数声明中所做的那样),你只需要寻找结束的那些。

另一方面,如果将开始和结束括号放在它们自己的行上,则代码将更加垂直对称,如果您处理更大的代码块,则更容易发现缺少的括号。

您应该查看处理此特定问题的文章:http://encosia.com/in-javascript-curly-brace-placement-matters-an-example/