所以,我有一个提交按钮,用于保存cookie中单选按钮的值。这适用于chrome,但不适用于firefox ......
<form name="radios" id="radios">
<input type="radio" id = "addition" name="browser" value="Addition" checked="checked">Addition<br>
<input type="radio" id = "subtraction" name="browser" value="Subtraction">Subtraction<br>
<input type="radio" id = "multiplication" name="browser" value="Multiplication">Multiplication<br>
<input type="radio" id = "division" name="browser" value="Division">Division<br>
</form>
我正在保存这样的cookie:
operation= escape(document.radios.browser.value) + ";";
document.cookie="operation="+operation;
现在,如果我将document.radios.browser.value放在chrome控制台中,它会为我提供所选的无线电值。
但是,如果我为firefox做同样的事情,它会给我“未定义。”
如何让这个为firefox工作?我的代码有问题吗?
答案 0 :(得分:1)
使用
operation = document.querySelector("form[name=radios] input[name=browser]:checked").value;
当您访问document.radios.browser
时,它会返回一个NodeList
,其中包含具有该名称的所有输入,而不仅仅是所选的输入。 Chrome显然有一个扩展名,允许您访问此列表的值,并返回所选单选按钮的值。但这不是标准的Javascript,并且在其他浏览器中不起作用。
使用:checked
修饰符可以获得所选按钮,然后您可以访问其值。