У меня есть 2 страницы на экране (на самом деле больше, поскольку это своего рода проприетарное веб-приложение с несколькими фреймами, и я не могу понять всю структуру)
Я ввожу критерии поиска на странице, нажимаю клавишу «Ввод» на клавиатуре, поиск выполняется, а другое представление заполняется данными. На втором изображении есть кнопка «Подтвердить», и пользователь должен нажать на нее.
Мне бы хотелось, чтобы пользователь нажал «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>
И курсор «выдвинул» поле ввода как-то «чудесным образом», и «Enter» работает на 2-й странице !!!
Почему это?
Конечно, это не решение, но мне интересно, почему использование предупреждений (но 2, а не 1) достигает моей цели - перемещать фокус мыши.
Спасибо