Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Пример создает окно и изменяет в нем значение
С помощью программы, загруженной в родительское окно, можно динамически изменять объекты в порожденных окнах, записывая текст в HTML-формате в объект document нужного дочернего окна.
Рассмотрим пример программы, которая динамически создает новое окно и загружает в него документ, содержащий форму с полем ввода. В текущем документе определена кнопка, при активизации которой значение поля ввода в порожденном окне изменяется.
Внимание! Не нажимайте кнопку "Сменить значение", пока не создано окно.
Исходный код этого примера:
<script>
var win1;
function newWin() {
win1 = window.open("", "myWindow", "toolbar=0,width=300,height=100");
win1.document.open();
win1.document.writeln("<title>Пример окна</title><body bgcolor='#C0C0C0'>"+
"<form><input type='text' size=20 value='Текущее значение' name='aname'></form>");
win1.document.writeln("Нажмите кнопку в основном окне "+
"чтобы сменить значение поля");
win1.focus();
}
function renWin() {
win1.document.forms[0].aname.value='Новое значение';
win1.focus();
}
</script>
<form>
<input value="Открыть окно" onclick="newWin()" type="button">
<input value="Сменить значение поля" onclick="renWin()" type="button">
</form>
Обратите внимание, что имя порожденного окна win1 указывается как префикс при обращении к объекту document, причем переменная создана глобальной, в результате чего методы open(), writeln(), focus() применяются к этому окну из любой функции в текущем документе.
Аналогично смены значения поля в форме можно динамически изменять и другие объекты окна, например, картинки, только уже использовать нужно массив images, также можно изменять и текстовое содержимое не перезагружая документ полностью, например используя контейнеры <div>...</div>.
Заметьте, это видно из первого примера, что фокус ввода передается вновь созданному окну, и при щелчке мыши на любом другом окне переводит фокус в это окно.
Однако назначить фокус можно и программным путем при помощи метода focus() - что продемонстрировано в предыдущем примере: в примере фокус возвращается на вновь созданное окно при нажати кнопок в родительском окне. Для удаления фокуса ввода используется соответственно метод blur(). Если фокус ввода будет назначен минимизированному окну - браузер его разворачивает.
.
Прокомментировать/Отблагодарить