【问题标题】:javascript input.focus() is not working in firefox 23javascript input.focus() 在 Firefox 23 中不起作用
【发布时间】:2013-09-13 06:53:40
【问题描述】:

我正在使用此代码.. 显示错误,但焦点在 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;
 }
}

请尽快回复我。

【问题讨论】:

  • 开发者控制台/Firebug 中的任何错误?
  • 我在不同计算机上的许多 Firefox 版本中使用过这段代码,但结果还是一样。

标签: javascript css validation input focus


【解决方案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;
 }
}

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

【讨论】:

  • 是否需要为此使用 jquery?
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:
    var item = document.getElementsByName('search')[0];
    

    【讨论】:

    • 它应该可以正常工作。您在控制台中看到了哪些错误?
    • 哎呀。我的一个小错误。现在修好了。不过,您应该已经看到之前的代码有错误。
    猜你喜欢
    • 2022-10-04
    • 2014-09-01
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    相关资源
    最近更新 更多