对input 使用focus()函数(兼容Firefox和IE)

我们有时会有这样的需求:当页面加载完成后自动将光标定位到某个输入框上,起到引导和方便用户之功效,如谷歌首页、Gmail登陆界面等;原理较简单,通常可以用一段Javascript略微控制,如

...
window.onload = function(){
   document.getElementById('term').focus(); //假设页面中需要赋予焦点的input的id为'term';
 }
...

以上代码可以解决input框初始值为空的情况,假如初始值不为空,如我们引导用户输入一个网址,使初始值为’http://’,这时HTML可能是这样:

...

...

如果再试图用上面的Javascript代码来赋予焦点,会发现在Firefox下光标停在input框内文字的末尾,而在IE6下却停在了input框内文字的开头处,通常,Firefox的执行结果使我们所希望的。要想让IE6得到像Firefox一样的结果,以下是我的解决办法:

...
   window.onload = function(){
     var term = document.getElementById('term');
     term.focus();
     term.value = term.value;     //关键就是多加了这一句;
   }
...