در اصل باید دو صفحه مجزا از هم داشته باشیم. این اموزش کاملا با جاوااسکرییپت هست .


اسم صفحات می زاریم parent.html که باید شامل یه فیلد text باشه که بخواد مقدار رو از صفحه فرزند بگیره و نمایش بده یا هر چیزی من فیلد متنی خواستم باشه شما میتونید چیزهایی دیگه بزارید.


کد PHP:
<input id="Filename1" type="text" />
و یه لینک که بخواد صفحه فرزند رو باز کنه

کد PHP:
<a href="javascript:void(0)" onclick="openChild();">open child</a>
اگه نخوایم صفحه رفرش بشه باید مقدار href تگ a رو javascript:void(0) بگذاریم.


و Event Onclick رو یه فانکشن بنویسیم که پنجره فرزند (child.html) رو باز کنه که این صفحه کنار صفحه والد در همان پوشه قرار داره .

کد PHP:
<script language="javascript">
function openChild() {
childWindow = open('child.html', 'pagename', 'resizable=no,width=200,height=400');
}
</script>
حالا یه پنجره با عرض و ارتفاعی که ما خواستیم باز میشه و محتوای پنجره فرزند رو نشان میده. که من یه فیلد متنی در نظر گرفتم که قرار محتوای که وارد اون فیلد میکنیم رو برگردونه به پنجره اصلی و یه دکمه ارسال.

کد PHP:
<input id="cf1" type="text" />
<br>
<input type="button" value="Get" id="GetF" onclick="javascript:return updateParent()" />
اینم فانکشینی که قرار محتوای فیلد متنی رو بگیره و قرار بده داخل یه فانکشن

کد PHP:
<script language="javascript" type="text/javascript">

function updateParent() {

var oVal = document.getElementById('cf1').value;

window.opener.setValue(oVal);

window.close();

return false;

}

</script>
window.opener اشاره به پنجره قبلی داره setValue فانکشنی است که در صفحه اصلی وجود داره اینجا میگه اون فانکش رو مقدارش رو برابر با value فیلدی قرار بده با id با نام cf1 . در اخر سر هم میگه این پنجره بسته بشه .
window.close();

در نیتجه مقدار رو پاس میده به صفحه قبلی و خودش بسته میشه بدون رفرش شده صفحه قبلی مقدار بر میگرده .



در صفحه قبلی (parent.html) هم میگه مقدار این فانکشن رو بزاره تو فلید یا فضایی که میخوایم
کد PHP:
function setValue(myVal) {

document.getElementById('Filename1').value = myVal;

}


البته با جی کوئری هم میشه اطلاعات رو فرستاد و برگشت داد خوب این روش هم میشه استفاده کرد

امیدوارم به دردتون بخوره