JohnBear, your solution would work. I have actually found a different approach that works too. Here it is:
Page1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script language="JavaScript" type="text/javascript">
<!--
var textfieldId;
function openWin(){
toBeTransferred=document.forms[0].textP1.value;
newWin=window.open('Page2.htm','','width=450,height=300');
}
//-->
</script>
</head>
<body>
<form>
<table width="0%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" name="textP1" onBlur="javascript: textfieldId=this;"> </td>
<td rowspan="3"> <a href="javascript

penWin()">open Popup</a></td>
</tr>
<tr>
<td><input type="text" name="textP2" onBlur="javascript: textfieldId=this;"> </td>
</tr>
<tr>
<td><input type="text" name="textP3" onBlur="javascript: textfieldId=this;"> </td>
</tr>
</table>
</body>
</html>
Page2:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<iframe src="Page3.htm" name="i1"></iframe>
<br>
<br>
</body>
</html>
Page3
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script language="JavaScript" type="text/javascript">
<!--
function getIt(){
document.forms[0].itext1.value=parent.window.opener.textfieldId.value;
}
function transfer(){
parent.window.opener.textfieldId.value=document.forms[0].itext2.value;
}
//-->
</script>
</head>
<body onload="getIt()">
<form>
Text from parent: <input type="text" name="itext1"><br>
Text to parent: <input type="text" name="itext2"><br>
<input type="button" value="transfer" onclick="transfer()">
</form>
</body>
</html>