javascript单选按钮焦点在Firefox上不起作用?

时间:2011-10-25 23:17:08

标签: javascript firefox radio-button setfocus

我正在使用表单从用户那里获取信息,我也使用了一些单选按钮和textarea,如果用户没有从单选按钮中选择一个选项我想要关注该单选按钮,那么用户可以知道缺少哪些数据。 我试过了:

document.FORM.RADIOBUTTON[INDEX].focus();

它实际上在谷歌浏览器中运行良好,但由于某种原因它在Firefox上不起作用, 我试图使用setTimeout(.....);再次,它确实适用于谷歌浏览器,但我没有在Firefox中获得任何东西。 关于如何使其发挥作用的任何想法?

3 个答案:

答案 0 :(得分:3)

它确实适用于Firefox,但问题是在Firefox中没有突出显示焦点项目。如果您尝试使用Tab键导航下一个DOM元素,您会发现它有效。某些样式可以应用于元素,但DOM元素样式也因浏览器而异。在这里查看示例 http://jsfiddle.net/uQ3vk/

答案 1 :(得分:2)

如果没有看到您的HTML,我可以建议的最佳选择是给您的单选按钮(或者至少是您希望能够以编程方式对焦的那个)ID:

<input type="radio" id="radio1" name="someradiogroup" value="somevalue">
<input type="radio" id="radio2" name="someradiogroup" value="someothervalue">

<script>
document.getElementById("radio1").focus();
</script>

与对DOM元素的任何编程访问一样,如果尚未解析元素,则代码将无法工作,因此代码应该在document.ready / onload处理程序中或稍后在源代码中。有问题的元素。 (或者在提交处理程序中,假设在页面加载之前不会发生提交。)

答案 2 :(得分:0)

我认为Firefox中缺少的大纲是问题,我知道这对我来说。我添加了一些CSS并让它显示。

input:focus 
{
  outline:#000 dotted 1px; 
}    
select:focus
{
  outline:#000 dotted 1px; 
}