我正在尝试执行一个保存单选按钮状态并检查它的程序。这是我的代码,但我不知道它的错误。请帮帮我
<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">
答案 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/