Focus OnLoad =“document.form_id.form_field_id.focus();”在iPhone上

时间:2009-03-11 05:00:48

标签: javascript iphone html

有没有办法专注于页面加载(在iPhone上)的文本字段?

我试过了:

OnLoad="document.form_id.form_field_id.focus();" 
在iPhone模拟器上

但它没有用。

有谁知道,为什么这不起作用,如果有的话有解决方法?

2 个答案:

答案 0 :(得分:0)

尝试

OnLoad="document.getElementById('form_field_id').focus()"

答案 1 :(得分:0)

最好使用标准方式访问表单和表单控件:

document.forms.form_id.elements.form_field_id.focus();

(注意formelements添加)。

或:

document.forms['form_id'].elements['form_field_id'].focus();

如果表单/表单控件ID /名称具有不能成为Javascript标识符一部分的字符,例如“|”,“ - ”,“。”等。

简短表示法(​​如您的示例中所示),即使得到广泛支持,也不是真正的标准化,并且通常更好地坚持标准做法。

我不确定这里的问题是什么。也许移动Safari不支持程序化焦点设置?您是否尝试稍微延迟调用焦点?

window.setTimeout(function(){
  document.forms['form_id'].elements['form_field_id'].focus();
}, 100);