JavaScript input.focus() 在 Firefox 23 中不起作用

javascript input.focus() is not working in firefox 23

本文关键字:Firefox 不起作用 input focus JavaScript      更新时间:2023-09-26

我正在使用这段代码。显示错误,但焦点在火狐中不起作用。由于这段代码在IE中工作,我不能说这段代码是完全错误的。

<form name="frm" action="search.php" method="post">
<input type="text" name="search" onblur="return check();"/>
<input type="submit" name="submit" />
<strong id="err"></strong>
</form>

我在外部javascript中使用此字符串。

此代码有效.js

function check()
{
 var item=frm.search;
 var errr=document.getElementById('err');
 if(item.value.length<3)
 {
 item.focus();
 errr.innerHTML="Entered String is very short";
 return false;
 }
}

请尽快回复我。

试试这个

function check()
{
var item = document.forms['frm'].elements['search'];
 var errr=document.getElementById('err');
 if(item.value.length<3)
 {
 errr.innerHTML="Entered String is very short";
    setTimeout(function() {
    item.focus()
}, 10);
 return false;
 }
}

演示 JSFIDDLE http://jsfiddle.net/ff4vW/

如果你使用document.getElementById()就很好

但是如果你使用名字那么你应该使用

 var item = document.forms['frm'].elements['search'];
var item = document.getElementsByName('search')[0];