AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Пример создает окно и изменяет в нем значение

С помощью программы, загруженной в родительское окно, можно динамически изменять объекты в порожденных окнах, записывая текст в HTML-формате в объект document нужного дочернего окна.
Рассмотрим пример программы, которая динамически создает новое окно и загружает в него документ, содержащий форму с полем ввода. В текущем документе определена кнопка, при активизации которой значение поля ввода в порожденном окне изменяется: Внимание, не нажимайте кнопку "Сменить значение" пока не создано окно



Исходный код этого примера:

<script type="text/javascript">
<!--
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">


Обратите внимание, что имя порожденного окна win1 указывается как префикс при обращении к объекту document, причем переменная создана глобальной, в результате чего методы open(), writeln(), focus() применяются к этому окну из любой функции в текущем документе. Аналогично смены значения поля в форме можно динамически изменять и другие объекты окна, например картинки, только уже использовать нужно массив images, также можно изменять и текстовое содержимое не перезагружая документ полностью, например используя контейнеры <DIV> . . . </DIV>.
Заметьте, это видно из первого примера, что фокус ввода передается вновь созданному окну, и при щелчке мыши на любом другом окне переводит фокус в это окно. Однако назначить фокус можно и программным путем (не поддерживается в IE версии ниже 4-й) при помощи метода focus() - что продемонстрировано в предыдущем примере: в примере фокус возвращается на вновь созданное окно при нажати кнопок в родительском окне. Для удаления фокуса ввода используется соответственно метод blur(). Если фокус ввода будет назначен минимизированному окну - браузер его разворачивает.


.

© Copyright 2008-2016 by KDG