Javascript设置输入无线电值也在Chrome中设置“已选中”,但不是Firefox或IE?

时间:2015-03-13 03:47:25

标签: javascript forms google-chrome internet-explorer firefox

我有一个表单,我使用Javascript设置input type="radio"对的值。但是,我注意到Chrome处理它与Firefox和IE不同,虽然我可以解决它,但我想知道 - 为什么会发生这种情况?

这是示例代码(或参见此jsfiddle:http://jsfiddle.net/ps46opy3/1/

<form name="form1" method="post">
    <input type="radio" name="xyzzy" value="yes"/> Yes
    <input type="radio" name="xyzzy" value="no"/> No
</form>

<script type="text/javascript">
    document.form1.xyzzy.value='yes';
</script>

在Chrome中,这将设置值并检查收音机是否为“是”,这就是我想要的。但是在Firefox / IE中它设置了值,但没有“检查”无线电。在这种情况下,提交表单时,该值实际上并未发布。

我可以通过添加document.form1.xyzzy[0].checked=true来解决这个问题,但对我来说似乎有点多余,你必须设置值和已检查的属性,这应该是同时进行的。

这是Firefox / IE中的错误,还是Chrome中的一项功能,还是......?

0 个答案:

没有答案