我有这样的形式:

<form name="mine">
    <input type=text name=one>
    <input type=text name=two>
    <input type=text name=three>
</form>

当用户在“一”中键入一个值时,有时我想跳过字段“二”,具体取决于他键入的内容。 例如,如果用户键入“ 123”并使用Tab键移动到下一个字段,我想跳过它并转到第三个字段。

我尝试使用OnBlurOnEnter ,但没有成功。

尝试1:

<form name="mine">
    <input type=text name=one onBlur="if (document.mine.one.value='123') document.three.focus();>
    <input type=text name=two>
    <input type=text name=three>
</form>

尝试2:

<form name="mine">
    <input type=text name=one>
    <input type=text name=two onEnter="if (document.mine.one.value='123') document.three.focus();>
    <input type=text name=three>
</form>

但这些都不起作用。 看起来浏览器不允许您在焦点改变时弄乱焦点。

顺便说一句,所有这些都在Linux上的Firefox上进行了尝试。

===============>>#1 票数:3 已采纳

尝试将tabindex属性附加到您的元素,然后以编程方式(在javaScript中将其更改):

<INPUT tabindex="3" type="submit" name="mySubmit">

===============>>#2 票数:1

您可以在第二个字段上使用onfocus事件,该事件在获得焦点时将被调用。 此时,字段1的值应该被更新,然后您可以执行检查。

===============>>#3 票数:1

如果您使用了您描述的方法,并且它们起作用了,那么当用户单击该字段而不是在其上单击时,焦点也会改变。 我可以向您保证,这会使用户感到沮丧。 (为什么它不起作用超出了我。)

相反,如前所述,字段一的内容更改时,请更改相应字段的tabindex。

===============>>#4 票数:0

<form name="mine">
    <input type="text" name="one" onkeypress="if (mine.one.value == '123') mine.three.focus();" />
    <input type="text" name="two">
    <input type="text" name="three">
</form>

===============>>#5 票数:0

尝试使用onkeypress而不是onblur 同样,在字段onfocus上,您应该发送到三个字段。 我假设您不希望他们输入两个(如果一个是123),那么您只需检查两个的onfocus并发送给三个即可。

  ask by Milan Babuškov translate from so

未解决问题?本站智能推荐:

2回复

如何使用Javascript以编程方式从iframe获取父窗口的焦点

一些网站将focus放在窗口加载的元素上。 如果我内嵌该网站,则似乎无法以编程方式将焦点设置在父窗口上。 这仅发生在IE (9)和Firefox (19),Opera / Safari / Chrome都可以的情况下。 <script> window.onload = func
1回复

Javascript-使用焦点在Firefox中不调用最大化和制表符切换事件

我面临一种奇怪的行为,我需要一些帮助。 我试图使用以下代码捕获每个选项卡切换事件和每个最大化事件(即:只要显示我的窗口): 但是,它没有捕获最大化事件! 在最小化之后,我如何知道用户何时最大化我的窗口? 另外,同时拥有window.addEventListener(“ fo
1回复

JavaScript onfocus属性和键事件

我正在尝试在Firefox的文本框中的JavaScript中模拟键输入。 文本框具有onfocus=" this.value='' "属性。 模拟+我的代码可以在以下位置找到 工作代码: 我的问题是,如何正确模拟输入(没有jquery!),以便第二个文本框没有空值。 而且,由
1回复

jQuery模态表单输入字段自动对焦问题

我遇到一个JQuery模态形式的问题,其中包含许多标签和相应的输入字段。 当我打开JQuery模式窗体并向下滚动时,会发生此问题。 当我关闭并重新打开JQuery模式窗体时,该窗体将自动滚动,以使第一个输入字段位于窗体的顶部并具有键盘焦点。 但是,这会切断第一个输入字段上方的标签和标题
1回复

在Firefox中首次加载后,JavaScript弹出窗口没有获得焦点

最简单的解释方法应该是此示例http://www.massimofidanza.it/firefox 。 这只能在IE上正常工作(弹出窗口再次聚焦)。 有什么解决方法(无需关闭和打开新的弹出窗口)? 更新:启用了Javascript以引发弹出窗口的选项。
1回复

Javascript多线程兼有窗口焦点

我想同时集中两个窗口选项卡(浏览器)。 如何使用javascript制作? 或使用Firefox附加组件执行此操作的另一种方法。
1回复

Firefox焦点javascript-event的奇怪行为(重复点火)

Firefox在链接上触发焦点事件(Opera也是如此)。 当我尝试附加一个处理程序进行链接以防止其获得焦点,而是将焦点传递给邻居输入字段时,发生了奇怪的事情。 Firefox会触发焦点事件两次,而Opera只会触发一次。 可能是由于某种原因与js事件的捕获阶段和冒泡阶段相关联,但我不确定
1回复

在firefox中,无法从javascript中的silverlight对象获取键盘焦点

我有一个Silverlight对象,该对象一直在抓住键盘焦点,而无法重新获得焦点。 我有一个带有菜单的javascript应用程序,用户可以在其中通过按“输入”键选择一个选项。 “输入”起作用,直到用户单击silverlight对象。 我试图通过使用此方法来创建解决方法: 仅Chr
1回复

字段焦点不能在firefox中工作,setTimeout(function(){id.focus();},0);

由于我的应用程序在Firefox上运行,并且我有问题专注于Firefox中的字段我在这里阅读了很多问题 (堆栈溢出)我在下面的代码中看到以解决此问题的所有答案: 但是当你运行我必须在我的应用程序中实现的代码时, 注意:这不是纯代码,它是一个演示。 请阅读代码中写的注释。 当你用
1回复

使用Firefox专注于父窗口

我无法专注于Firefox中的开启器(但它在IE11中有效)。 Firebug控制台中的示例: popup = window.open(...) 然后在开瓶器中 window.focus()的 =>弹出窗口成为焦点 现在,如果我从弹出窗口中编写