我有一个表单,我使用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中的一项功能,还是......?