javascript input.focus()在firefox 23中不起作用

javascript input.focus()在firefox 23中不起作用,javascript,css,validation,input,focus,Javascript,Css,Validation,Input,Focus,我正在使用这个代码。。 显示错误,但焦点在firefox中不起作用。由于这段代码在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"&

我正在使用这个代码。。 显示错误,但焦点在firefox中不起作用。由于这段代码在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中使用这个字符串。

此代码位于valid.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;
 }
}
函数检查()
{
var项目=frm.search;
var errr=document.getElementById('err');

if(item.value.length如果使用document.getElementById()就很好了

但如果你用的是名字 那你应该用

 var item = document.forms['frm'].elements['search'];
试试这个

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;
 }
}
函数检查()
{
var item=document.forms['frm'].elements['search'];
var errr=document.getElementById('err');

如果(item.value.lengthAny开发者控制台/Firebug中有任何错误?我在不同计算机上的许多firefox版本中使用了此代码,但结果仍然是一样的。是否需要使用jquery进行此操作?它应该可以正常工作。您在控制台中看到了哪些错误?哎哟。我这边有一个小错误。现在已修复。您应该已经看到t的错误了不过,这是以前的代码。
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;
 }
}