<html>
<body>
<form name="formtext">
<input type="text" name="inputtext" value="" size="30">
<input type="button" value="Ок">
<input type="button" value="Смайлики" onClick='script: window.open("smile.html","",
"width=400,height=600,status=no,menubar=no,toolbar=no,scrollbars=yes")'>
</form>
</body>
</html>
Вот этой строкой открываем новое окно, в котором и происходит всё основное действие:
<input type="button" value="Смайлики" onClick='script: window.open("smile.html","","
width=400,height=600,status=no,menubar=no,toolbar=no,scrollbars=yes")'>
Файл smile.html содержит следующее:
<html>
<head>
<title>Улыбочки</title>
<script language=JavaScript>
<!--
function Smile(s)
{
p=opener;
if(p==null)return;
p.document.forms.formtext.inputtext.value+=s;
p.document.forms.formtext.inputtext.focus();
}
//-->
</script>
</head>
<body>
<img style="CURSOR: hand" onClick="Smile('-1-')" src="images1/000001.gif">
<img style="CURSOR: hand" onClick="Smile('-2-')" src="images1/000002.gif">
<img style="CURSOR: hand" onClick="Smile('-3-')" src="images1/000003.gif">
<img style="CURSOR: hand" onClick="Smile('-4-')" src="images1/000004.gif">
<img style="CURSOR: hand" onClick="Smile('-5-')" src="images1/000005.gif">
<img style="CURSOR: hand" onClick="Smile('-6-')" src="images1/000006.gif">
<img style="CURSOR: hand" onClick="Smile('-7-')" src="images1/000007.gif">
<img style="CURSOR: hand" onClick="Smile('-8-')" src="images1/000008.gif">
<img style="CURSOR: hand" onClick="Smile('-9-')" src="images1/000009.gif">
//и ещё множество изображений
</body>
</html>
При щелчке по изображению вызывается функция Smile(s), где s - код смайлика. Рассмотрим эту функцию:
p=opener;
Получаем окно из которого открыли текущее.
if(p==null)return;
Если p не null продолжаем выполнять функцию.
p.document.forms.formtext.inputtext.value+=s;
Прибавляем значение кода смайлика к имеющемуся значению поля ввода в родительском окне.
p.document.forms.formtext.inputtext.focus();
Возвращаем фокус полю ввода.