با سلام خدمت همه دوستان
یه سوال فوری داشتم:
توی جاوا اسکریپت چطوری میشه یه پنجره popup باز کرد و ادامه دستورات رو در پنجره والد ، تا زمان بسته شدن پنجر popup به تعویق انداخت؟
با تشکر - حمید شایان
با سلام خدمت همه دوستان
یه سوال فوری داشتم:
توی جاوا اسکریپت چطوری میشه یه پنجره popup باز کرد و ادامه دستورات رو در پنجره والد ، تا زمان بسته شدن پنجر popup به تعویق انداخت؟
با تشکر - حمید شایان
سلام
دستوراتی که میخوای بعد از بسته شدن popup اجرا بشن رو بنداز توی یک تابع، بعد توی onclose مربوط به صفحه ی popup تابع مورد نظر توی پنجره ی والد رو فراخوانی کن...
فکر نمیکنم قضیه ربطی به ajax داشته باشه!چون پروژه من مبتنی بر ajax هست
چرا نداری؟ چون از ajax لود شدن؟؟؟از توی پنجره popup دسترسی به اشیاء و توابع موجود در پنجره والد ندارم .
خوب من هم نگفتم که تابع مورد نظر رو توی پنجره ی مولود بسازیش که!!یعنی دستورایی که میخوام اجراشون به تعویق بیفته لزوماً باید توی پنجره والد باشن.
تابع رو توی خود پنجره ی والد داشته باش، بعد وقتی پنجره ی مولود بسته میشه، تابع رو فقط فراخوانی کن!
میشه دقیق تر بگی مشکلت کجاس؟
با سلام.
بذار صورت مسئله رو کامل بگم :
من یه صفحه 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 به تعویق بیفته.
از این بابت مطمئنی؟؟ولی اشیاء و توابعی که داخل فایل selectcolor.php بودند، با این که نمایش داده شدند ، از توی صفحه اصلی(Index.php) قابل دستیابی نیستند.
در هر صورت، پس کد مذکور، چه توی popup باشه (که به گفته ی من، میگم نباشه! و فقط از اونجا فراخوانی بشه!) چه توی index.php اجرا نخواهد شد. حتی اگر کد مذکور رو توی selectcolor.php نوشته باشی هم بعد از فراخوانی شدن این صفحه نمیشه اجراشون کرد!! درسته؟
در هر صورت، تا جایی که من میدونم، آبجکتهایی که به وسیله ی ajax به صفحه اضافه میشن، قابل دسترسی هستن (یادمه قبلا این کار رو کرده م!)
موفق باشید.