PDA

View Full Version : سوال: کومبو باکس آژاکسی



amirepsilon
سه شنبه 06 مرداد 1388, 23:35 عصر
سلام
دوستان فکر کنید یه کمبو باکس داریم که 1000 تا عضو داره
یه textbox کنارش میذاریم
میخواهیم برای سهولت دسترسی به اون کومبو هرموقع توی تکس باکس تایپ کرد، بدون این که دکمه ای بزنه و با آژاکس، نتایج جستجوی مرتبط رو در اون کمبو باکس نمایش بده
دوستان کسی راهی به نظرش میرسه؟
ممنون

امیـرحسین
چهارشنبه 07 مرداد 1388, 02:30 صبح
کاری نداره که!
event تکست باکس رو بذار روی onchange یا onblur و نتایج جستجو رو به شکل تگ option در تگ select قرار بده...
یکم روش تمرکز کنی میبینی سادست.

mostafa_shaeri_tj
پنج شنبه 08 مرداد 1388, 16:18 عصر
آقا امیر حسین درست گفتن .
اگر هم مقادیر combo box متغییر هست . یعنی کم و زیاد میشه بهتره از cache شدن جواب ها جلوگیری کنی .

amirepsilon
پنج شنبه 08 مرداد 1388, 21:14 عصر
چطوری از کش شدن جلوگیری کنیم ؟

eAmin
جمعه 09 مرداد 1388, 00:15 صبح
چطوری از کش شدن جلوگیری کنیم ؟
ساعت جاری سیستم کاربر رو به عنوان پارامتر ( query string ) آدرس درخواستیتون قرار بدید.
اگر جستجو بکنید، یک مثال از اون موجود هست.

mostafa_shaeri_tj
جمعه 09 مرداد 1388, 08:16 صبح
این کاری که دوستمون گفت یه مقدار پیچیدست .
به جای این کار میتونیم در فایل یا صفحه ای که آژاکس از اون اطلاعاتش رو دریافت میکنه هدر Cache-Control رو برابر no-cache قرار بدیم. دیگه نیاز به اون درخواست های پیچیده از بین میره.

امیـرحسین
جمعه 09 مرداد 1388, 17:09 عصر
به نظر من روش اول ساده تره (چون من هدرها مشکل دارم ;) )
کافیه این کوئری تو جاوااسکرپت به آخر URL اضافه بشه:

&nocache=' + Math.random()
طرف دوم چون منحصر به فرد هست، URL رو تغییر میده و اجازه نمیده که IE کوفتی فکر کنه که اطلاعات همون قبلیه.

amirepsilon
شنبه 10 مرداد 1388, 11:46 صبح
فکر میکنم راحت ترین و بهترین روش رو امیر حسین گفت
حالا اصلا چرا این آژاکس خیلی کش میکنه ؟

mostafa_shaeri_tj
شنبه 10 مرداد 1388, 13:28 عصر
چون آژاکس بیشتر مواقع باعث بالا رفتن تعداد درخواست ها از سرور میشه . بنابر این شی xmlhttp پاسخ درخواست ها رو پیش خودش نگه میداره تا در دفعه بعد به جای اینکه جواب رو از سرور بگیره خودش جواب رو برگردونه . البته درخواست باید دقیقا همون درخواست باشه. واسه همینه که آقا امیرحسین روش درخواست های همراه با پارامتر تصادفی رو پیشنهاد میدن . چون تقریبا هیچ درخواستی مثل هم نمیشه تا شی xmlhttp از پاسخ های cache شده استفاده کنه. ولی پاسخ ها همچنان در حال cache شدن هستن و حافظه ی کامپیوتر رو اشغال می کنن. واسه اینکه من می گم کار باید اصولی انجام شه و به شی xmlhttp بگیم که اصلا cache کردن رو بی خیال شو.

اگه توضیح بیشتر میخوای در خدمتم

amirepsilon
چهارشنبه 25 شهریور 1388, 14:46 عصر
سلام
دوستان و مخصوصا امیر حسین
چطور میتونم با یک تابع جاوا اسکریپت دستورات php رو اجرا کنم ؟
برای عملی کردن این کار فکر کنم نیاز هست
ممنون

امیـرحسین
چهارشنبه 25 شهریور 1388, 17:05 عصر
PHP قبل از جاوااسکریپت اجرا میشه!
یا باید صفحه رو ریفرش کنید یا منتقل کنید به یک URL جدید با کوئری مناسب.
یا از آژاکس استفاده کنید.

amirepsilon
پنج شنبه 26 شهریور 1388, 00:05 صبح
سلام
میخوام با آژاکس بنویسم
میشه کمکم کنید
نمونه کدی هست ؟
ممنون

امیـرحسین
پنج شنبه 26 شهریور 1388, 01:36 صبح
چرا نیست؟
/Boplo.ir/web-design/ajax-learn-turorial (http://Boplo.ir/web-design/ajax-learn-turorial/) :لبخند:

amirepsilon
پنج شنبه 26 شهریور 1388, 20:51 عصر
سلام
ممنون امیر ولی این آموزش آژاکس هست
من تا حدودی آژاکس بلدم
میخوام بدونم چطور روی این موضوع پیاده کنم
یا علی

امیـرحسین
پنج شنبه 26 شهریور 1388, 23:21 عصر
شما می خواید یه تابع PHP رو اجرا کنید دیگه. یه درخواست آژاکس میدید و هر کدی که لازم دارید رو اجرا می کنید.
مگه اینکه منظور شما با فکر من متفاوت باشه....