我想获得它,这样,当某个值被放入一个文本框,焦点将停留在文本框(和警报将在生产中所示)。我试图让这个在Firefox 3.5.7没有运气的工作。

我怎样才能使它所以当一个文本框是onchange一定值时,它会保持集中/重新关注文本框?

现场实例是在 http://jsbin.com/ipina

<body>
Enter your name: <input type="text" name="fname" id="fname" onchange="
  if(this.value=='foo'){
    this.select();
    this.focus();
  }
  "  />
</body>

另外,我没有得到执行此代码的错误控制台任何JavaScript错误或警告。

有帮助吗?

解决方案 2

根据的Javascript平变化在IE和Firefox不同的我需要onchange事件发生之后设置的焦点,所以我有这样的事情落得:

Enter your name: <input type="text" name="fname" id="fname" onblur="
  if(this.value=='foo'){
    alert('bah');
    setTimeout('document.getElementById(\'fname\').focus();document.getElementById(\'fname\').select();',0);
  }
  "  />

和还我必须抓住它时,焦点消失,不一定当文本改变了,所以我只好用的,而不是平变化的onblur。

活: http://jsbin.com/ofeva

其他提示

当的onchange事件被触发时,用户集中在文本框。

也许你可能想使用blur事件重新专注于文本,如果值是“富”。

如果您需要即时结果,你应该使用onkeyup

<body>
Enter your name: <input type="text" name="fname" id="fname" onkeyup="
  if(this.value=='foo'){
    this.select();
    this.focus();
  }
  "  />
</body>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top