将cookie中的单选按钮的值存储在其他浏览器(Firefox)中不起作用,但在Chrome中有效

时间:2016-06-06 18:08:47

标签: javascript html google-chrome firefox cookies

所以,我有一个提交按钮,用于保存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工作?我的代码有问题吗?

1 个答案:

答案 0 :(得分:1)

使用

operation = document.querySelector("form[name=radios] input[name=browser]:checked").value;

当您访问document.radios.browser时,它会返回一个NodeList,其中包含具有该名称的所有输入,而不仅仅是所选的输入。 Chrome显然有一个扩展名,允许您访问此列表的值,并返回所选单选按钮的值。但这不是标准的Javascript,并且在其他浏览器中不起作用。

使用:checked修饰符可以获得所选按钮,然后您可以访问其值。