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

时间:2013-09-13 06:53:40

标签: 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"></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;
 }
}

请尽快回复我。

3 个答案:

答案 0 :(得分:1)

尝试这个

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;
 }
}

demo jsfiddle http://jsfiddle.net/ff4vW/

答案 1 :(得分:0)

如果您使用document.getElementById()

,那就很好

但如果你正在使用名字 然后你应该使用

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

答案 2 :(得分:0)

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