0

我正在使用表单从用户那里获取信息,并且我还使用了一些单选按钮和文本区域,如果用户没有从单选按钮中选择一个选项,我想聚焦该单选按钮,以便用户知道什么数据丢失。我试过了:

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

它实际上在 google chrome 中运行良好,但由于某种原因它在 Firefox 上不起作用,我尝试setTimeout(.....);再次使用 a ,它在 google chrome 上运行,但我在 Firefox 中没有得到任何东西。关于如何让它发挥作用的任何想法?

4

3 回答 3

3

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

于 2011-10-25T23:47:36.323 回答
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 处理程序中或在源代码中比元素( s) 有问题。(或者在提交处理程序中,假设在页面加载之前不会发生提交。)

于 2011-10-25T23:35:31.913 回答
1

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

input:focus 
{
  outline:#000 dotted 1px; 
}    
select:focus
{
  outline:#000 dotted 1px; 
} 
于 2012-12-07T18:29:15.133 回答