我在屏幕上有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)才能达到我移动鼠标焦点的目的。
由于
答案 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>
对此有何解释?
它适用于我的桌面。难道它不适用于其他工作站(即间隔必须更高)?