View Full Version : نمایش یک پنجره popup و توقف دستورات تا زمان بسته شدن
hamid57
پنج شنبه 08 آذر 1386, 23:13 عصر
با سلام خدمت همه دوستان
یه سوال فوری داشتم:
توی جاوا اسکریپت چطوری میشه یه پنجره popup باز کرد و ادامه دستورات رو در پنجره والد ، تا زمان بسته شدن پنجر popup به تعویق انداخت؟
با تشکر - حمید شایان
tabib_m
جمعه 09 آذر 1386, 00:35 صبح
سلام
دستوراتی که میخوای بعد از بسته شدن popup اجرا بشن رو بنداز توی یک تابع، بعد توی onclose مربوط به صفحه ی popup تابع مورد نظر توی پنجره ی والد رو فراخوانی کن...
sweb
جمعه 09 آذر 1386, 00:45 صبح
از طریق ذخیره کردن در کوکی ها هم می تونی !
hamid57
جمعه 09 آذر 1386, 14:08 عصر
سلام
دستوراتی که میخوای بعد از بسته شدن popup اجرا بشن رو بنداز توی یک تابع، بعد توی onclose مربوط به صفحه ی popup تابع مورد نظر توی پنجره ی والد رو فراخوانی کن...
با تشکر از محسن جان...
ولی مشکل من اینجوری حل نمیشه. چون پروژه من مبتنی بر ajax هست ، از توی پنجره popup دسترسی به اشیاء و توابع موجود در پنجره والد ندارم . یعنی دستورایی که میخوام اجراشون به تعویق بیفته لزوماً باید توی پنجره والد باشن.
hamid57
جمعه 09 آذر 1386, 14:10 عصر
از طریق ذخیره کردن در کوکی ها هم می تونی !
میشه یه خورده بیشتر توضیح بدین؟:متفکر:
tabib_m
جمعه 09 آذر 1386, 16:22 عصر
چون پروژه من مبتنی بر ajax هست
فکر نمیکنم قضیه ربطی به ajax داشته باشه!
از توی پنجره popup دسترسی به اشیاء و توابع موجود در پنجره والد ندارم .
چرا نداری؟ چون از ajax لود شدن؟؟؟
یعنی دستورایی که میخوام اجراشون به تعویق بیفته لزوماً باید توی پنجره والد باشن.
خوب من هم نگفتم که تابع مورد نظر رو توی پنجره ی مولود بسازیش که!!
تابع رو توی خود پنجره ی والد داشته باش، بعد وقتی پنجره ی مولود بسته میشه، تابع رو فقط فراخوانی کن!
میشه دقیق تر بگی مشکلت کجاس؟
hamid57
جمعه 09 آذر 1386, 23:06 عصر
میشه دقیق تر بگی مشکلت کجاس؟
با سلام.
بذار صورت مسئله رو کامل بگم :
من یه صفحه index.php دارم که توش یه لینک ای جکس داره. وقتی روش کلیک می کنم محتوای یه فایل دیگه بنام selectcolor.php رو بدون اینکه صفحه دوباره لود بشه ، داخل Div1 فراخوانی می کنه.
ولی اشیاء و توابعی که داخل فایل selectcolor.php بودند، با این که نمایش داده شدند ، از توی صفحه اصلی(Index.php) قابل دستیابی نیستند.
حالا درنظر بگیرید فایل selectcolor.php که بصورت ای جکس داخل div1 لود شده، حاوی دگمه button1 باشه که وقتی روش کلیک می کنم ، یه پنجره color picker بصورت popup باز میشه.
من میخوام وقتی توی color picker یه رنگ انتخاب شد، کد رنگ مربوطه داخل textbox1 که توی div1 هست ، قرار داده بشه. ولی متاسفانه همونطور که گفتم ، امکان دسترسی به توابع و آبجکتهای فایل selectcolor.php رو ندارم.بخاطر همین فکر میکنم باید دستوری که رنگ انتخاب شده رو توی texbox1 قرار میده ، توی خود فایل selectcolor.php بذارم ، نه توی popup!
بهمین منظور ، مقدار ارسالی color picker رو اول توی یه hidden textbox که توی صفحه اصلی قرار داره گذاشتم . بعد تو رویداد onClick مربوط به دگمه button1، بعد از فراخوانی popup ، مقدار موجود در hidden textbox رو در textbox1 قرار دادم.
ولی باید یه کاری کنم که بعد از باز شدن popup ، اجرای دستور مذکور تا زمان بسته شدن popup به تعویق بیفته.
tabib_m
شنبه 10 آذر 1386, 16:55 عصر
ولی اشیاء و توابعی که داخل فایل selectcolor.php بودند، با این که نمایش داده شدند ، از توی صفحه اصلی(Index.php) قابل دستیابی نیستند.
از این بابت مطمئنی؟؟
در هر صورت، پس کد مذکور، چه توی popup باشه (که به گفته ی من، میگم نباشه! و فقط از اونجا فراخوانی بشه!) چه توی index.php اجرا نخواهد شد. حتی اگر کد مذکور رو توی selectcolor.php نوشته باشی هم بعد از فراخوانی شدن این صفحه نمیشه اجراشون کرد!! درسته؟
در هر صورت، تا جایی که من میدونم، آبجکتهایی که به وسیله ی ajax به صفحه اضافه میشن، قابل دسترسی هستن (یادمه قبلا این کار رو کرده م!)
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.