ورود

View Full Version : پاس دادن اطلاعات بین پنجره ها !!



manager
چهارشنبه 16 فروردین 1385, 22:33 عصر
سلام

دیدید وقتی روی گزینه ی بیشتر در قسمت شکلکهای همین سایت تو صفحه فرستادن گفتگوی تازه کلیک می کنیم چه اتفاقی می افته !!! وقتی از توی پنجره جدید یه شکلک انتخاب می کنیم اوتوماتیک تو صفحه دیگه ظاهر می شه می خواستم ببینم این کار چه طور قابل انجامه !!!

manager
جمعه 18 فروردین 1385, 23:51 عصر
کسی نمی تونه به من کمک کنه ؟!!!

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

اگر هم نشدنی هست (‌که غیر ممکنه) بهم بگید ...

tabib_m
شنبه 19 فروردین 1385, 00:53 صبح
در صورتی این کار امکان داره ، که یکی از پنجره ها از پنجره ی دیگه باز شده باشه.
برای مثال توی کد زیر من یک تکست باکس توی پنجره ی شماره ی یک دارم. و یک button توی پنجره ی شماره ی دو دارم. اونوقت پنجره ی شماره ی دو از پنجره ی شماره ی یک باز شده .
حالا در صورتی که روی دکمه ، کلیک کنیم ، مقدار داخل تکست باکس پنجره ی شماره ی یک عوض میشه :
پنجره ی شماره ی یک :


<input type='text' name='textBoc' value=''>

پنجره ی شماره ی دو :


<input type='button' value='click here' onclick="window.opener.document.all['textBox'].value='Hello';">

اگه نامفهومه ، بگید که من کد کاملتری رو بذارم.
موفق باشید.

alirezador
شنبه 19 فروردین 1385, 21:25 عصر
اقا محسن خیلی ممنون واسه من که خیلی جالب بود

tabib_m
شنبه 19 فروردین 1385, 22:20 عصر
خواهش میکنم.
منم یه بار مفید واقع شدم :)

manager
یک شنبه 20 فروردین 1385, 00:39 صبح
یعنی پنجره باید به صورت Popup باشه !!!!!!!!!

tabib_m
یک شنبه 20 فروردین 1385, 14:02 عصر
یه جورایی بله

البته این مسئله در مورد iframe هم هست.
فقط به جای عبارت opener باید از parent استفاده بشه.
فکر کنم این یکی استفاده ش بیشتر باشه.

امروزه دیگه نمیشه از popup استفاده کرد. :)

balis_pascal
یک شنبه 20 فروردین 1385, 23:41 عصر
سلام
من می‌خواهم اطلاعاتی (یک متغیر را) در یک صفحه ای مقدار بدهم سپس با کمک تغییر مسیر دادن آن صفحه به صفحه دیگر البته با همراه کردن متغیر مثل کد زیر:
document.location.href='prof.htm?a=1
در صفحه بعدی مقدار متغیر a را مورد بررسی قرار دهم و سپس برا‌ساس آن تصمیم بگیرم اما نمی‌دانم چگونه می‌توانم مقدار متغیر ارسالی را مورد بررسی قرار داد.
لطفا راهنمایی‌ام کنید.

با تشکر

alirezador
دوشنبه 21 فروردین 1385, 13:54 عصر
میشه بگید چه بررسی اگه میخواید دریافت کنید مونده به زبانش مثلا تو asp و asp.net از دستور request.querystring باید استفاده کنی و تو php از دستور $_reques
مونده شما چیکار بخواین بکنین

tabib_m
دوشنبه 21 فروردین 1385, 14:22 عصر
اون طور که من از سوال ایشون متوجه شدم، فهمیدم که میخواد با یک صفحه ی html و با جاواسکریپت کار کنه.
من که نمیدونم چجوری میشه این کار رو کرد.

hgkhatir
دوشنبه 21 فروردین 1385, 15:00 عصر
یک مثال ساده برای این کار:

فایل اول:


<a href="page3.html" href="page3.html?data">page3</a>

فایل دوم:


<script>
var srchString = unescape(location.search.substring(1, location.search.length));
</script>

اگر بخواهید چند پارامتر را بفرستید باید با استفاده از توابع رشته javascript آنها را از هم جدا کنید.

tabib_m
دوشنبه 21 فروردین 1385, 17:32 عصر
اگر بخواهید چند پارامتر را بفرستید باید با استفاده از توابع رشته javascript آنها را از هم جدا کنید.

مطمئنید که خود جاواسکریپت راه ساده ای برای این کار نداره؟

در ضمن من یک صفحه html برای تست ساختم. به نام test.html
وقتی اون رو باز میکنم، اجرا میشه. ولی وقتی که اون رو به این صورت (test.html?a=a) فراخوانی میکنم ، با ارور مواجه میشم.
آیا اینجا کار من مشکل داره ، یا اصولا این مسئله برای صفحات html درست نیست؟

alirezador
دوشنبه 21 فروردین 1385, 20:40 عصر
آقای hgkhatir اون چیزی که شما نوشتین کلا غلطه از لحاظ دستوری من نمیدونم شما چی میخواین بگین شما میخواین متغیر بفرستین یا این که میخواین با رشته ها کار کننین

در مورد آقا محسن خودمون هم باید بگی که صفحات html نمیتونن متغیر قبول کنن این را فکر کنم یک جایی با دوستان بحث کردیم آدرسش را فردا برات میزنم برو بخون

pooyanm
چهارشنبه 23 فروردین 1385, 06:23 صبح
سلام، آقای hgkhatir درست گفته اند و من هم متدی در js سراغ ندارم که این کار را انجام دهد. این کد را اجرا کنید واگر مشکل یا سوالی در مورد آن داشتید من را مطلع کنید. در ضمن مشکلی هم با پسوند html ندارد.

<a href="javascript:window.location.href+='?name=Pooyan&lName=Mahdavi'">Send My Name</a>
<script>
alert('name=' + getParameter('name') + '\nLast Name=' + getParameter('lName'));
function getParameter(parameterName) {
var parameters = unescape(window.location.search);
var start = parameters.indexOf('?' + parameterName + '=');
if (start == -1) {
start = parameters.indexOf('&' + parameterName + '=');
}
if (start != -1) {
start = parameters.indexOf('=', start) + 1;
var end = parameters.indexOf('&', start + 1);
if (end == -1) {
end = parameters.length;
}
return parameters.substring(start, end);
}
return null;
}
</script>

alirezador
چهارشنبه 23 فروردین 1385, 10:11 صبح
من منظورتون را فهمیدم و کد را اصلاح کردم



<a href="javascript:aa('ali','durandish')">Send My Name</a>
<script>
function aa(name ,lname)
{
alert ("name="+name+" lname="+lname)
}
</script>
والا این که دیگه اینقدر مکافات نداشت

pooyanm
پنج شنبه 24 فروردین 1385, 06:10 صبح
سلام، آقای دوراندیشیان کار این کد فرستادن اطلاعات به صفحه دیگر است. و سپس نمایش آن.