使用JavaScript以编程方式将光标从一个页面移动到另一个页面

时间:2008-11-20 22:22:04

标签: javascript focus mouse move

我在屏幕上有2个页面(实际上更多,因为它是一种具有几帧的专有Web应用程序,我实际上无法弄清楚整个结构)

我在页面中输入搜索条件,按键盘上的“Enter”键,执行搜索,另一个视图填充数据。在第二个视图上有一个“确认”按钮,用户必须单击它。

我希望用户按下键盘上的“Enter”并执行“确认”。

如果我点击第二个视图中的一个字段并按“Enter”,则执行“确认”,这样就可以将鼠标的焦点从第一页移动到另一页。

我如何以编程方式实现此目标?

我试过以下

<SCRIPT FOR=window event=onload language="JScript">
    var focusField = "<%= controller->component_id %>" + '_' + 'NUMBER';
    document.getElementById(focusField).focus();
</SCRIPT>

光标仍然在第一页的输入字段中。

<SCRIPT FOR=window event=onload language="JScript">
    var focusField = "<%= controller->component_id %>" + '_' + 'NUMBER';
    alert(document.getElementById(focusField).value);
    document.getElementById(focusField).focus();
</SCRIPT>

显示字段的值,以便代码通过那里

光标仍然在第一页的输入字段中

<SCRIPT FOR=window event=onload language="JScript">
    var focusField = "<%= controller->component_id %>" + '_' + 'NUMBER';
    document.getElementById(focusField).focus();
    alert('1');
    alert('2');
</SCRIPT>

光标仍然在第一页的输入字段中

<SCRIPT FOR=window event=onload language="JScript">
    var focusField = "<%= controller->component_id %>" + '_' + 'NUMBER';
    alert('1');
    document.getElementById(focusField).focus();
    alert('2');
</SCRIPT>

光标'移出'输入字段以某种方式'奇迹般地'和'回车'在第二页上工作!!!

为什么?

当然,这不是一个解决方案,但我想知道为什么使用警报(但不是2)才能达到我移动鼠标焦点的目的。

由于

1 个答案:

答案 0 :(得分:1)

我找到了让它运作的方法

<SCRIPT FOR=window event=onload language="JScript">

function setFocus()
    {
    var focusField = "<%= controller->component_id %>" + '_' + 'CUSTOMER_STRUCT.BP_NUMBER';
    document.getElementById(focusField).focus();
    }

  window.setTimeout('setFocus()', 40);//1,10,20,30 do not work

</SCRIPT>

对此有何解释?

它适用于我的桌面。难道它不适用于其他工作站(即间隔必须更高)?