PDA

View Full Version : چه رویدادی برای Textfield باشد



masoud0455
سه شنبه 02 خرداد 1391, 05:00 صبح
من یه textfield دارم که با استفاده از ایجکس میره سمت سرور و در پایگاه داده در جدول چک میکنه اگه کد تکراری بود جلوی Textfild یه پیام میاد که کد تکراری است لطفا کد دیگری انتخاب کنید.
سوال: با چه رویدادی چک می تونم چک کنم که پس از اینک کد به طور کامل تایپ شد بره سمت سرور چک کنه؟؟

مثلا با رویداد onKeypress یا امثال اینها خیلی اذیت میکنه یا onMouseOut

mehdi.mousavi
سه شنبه 02 خرداد 1391, 11:19 صبح
من یه textfield دارم که با استفاده از ایجکس میره سمت سرور و در پایگاه داده در جدول چک میکنه اگه کد تکراری بود جلوی Textfild یه پیام میاد که کد تکراری است لطفا کد دیگری انتخاب کنید. سوال: با چه رویدادی چک می تونم چک کنم که پس از اینک کد به طور کامل تایپ شد بره سمت سرور چک کنه؟؟ مثلا با رویداد onKeypress یا امثال اینها خیلی اذیت میکنه یا onMouseOut

سلام.
این کد چه ویژگی ای داره که بشه تشخیص داد که کد کامل شده؟ فرضا باید به تعداد کاراکتر خاصی برسه، یا انتهای کد کاراکتر خاصی باید باشه یا ...؟
اینجا شما می تونید صبر کنید و هر وقت focus از textbox گرفته شد (حالا یا با click کردن mouse جای دیگه صفحه، یا با زدن کلید tab یا shift-tab و ...)
اونوقت چک مورد نظر رو انجام بدید. برای اینکار هم میتونید از onchange (http://www.w3schools.com/jsref/event_onchange.asp) استفاده کنید.

اما یه راه دیگه هم هستش، اگر راه فوق رو نمی پسندید. شما می تونید timer ای ایجاد کنید که فرضا اگر تا 300 میلی ثانیه کلیدی زده نشد، اونوقت چک
مورد نظر رو انجام بدید. بدین ترتیب، دیگه لازم نیست کاربر textbox رو ترک کنه تا شما بتونید کد مورد نظر رو چک کنید. اگر هم کد با سرعتی طبیعی وارد بشه،
دیگه با هر بار زده شدن کلیدی چک مورد نظر انجام نمیشه، چون شما timer رو reset می کنید و منتظر میشید 300 میلی ثانیه از آخرین ضرب کلید بگذره.

موفق باشید.

masoud0455
سه شنبه 02 خرداد 1391, 12:03 عصر
سلام.
این کد چه ویژگی ای داره که بشه تشخیص داد که کد کامل شده؟ فرضا باید به تعداد کاراکتر خاصی برسه، یا انتهای کد کاراکتر خاصی باید باشه یا ...؟
اینجا شما می تونید صبر کنید و هر وقت focus از textbox گرفته شد (حالا یا با click کردن mouse جای دیگه صفحه، یا با زدن کلید tab یا shift-tab و ...)
اونوقت چک مورد نظر رو انجام بدید. برای اینکار هم میتونید از onchange (http://www.w3schools.com/jsref/event_onchange.asp) استفاده کنید.

اما یه راه دیگه هم هستش، اگر راه فوق رو نمی پسندید. شما می تونید timer ای ایجاد کنید که فرضا اگر تا 300 میلی ثانیه کلیدی زده نشد، اونوقت چک
مورد نظر رو انجام بدید. بدین ترتیب، دیگه لازم نیست کاربر textbox رو ترک کنه تا شما بتونید کد مورد نظر رو چک کنید. اگر هم کد با سرعتی طبیعی وارد بشه،
دیگه با هر بار زده شدن کلیدی چک مورد نظر انجام نمیشه، چون شما timer رو reset می کنید و منتظر میشید 300 میلی ثانیه از آخرین ضرب کلید بگذره.

موفق باشید.
مرسی از پاسختون همون تایمر رو پسندیدم. فقط مشکلم تو کدشه. میشه کدشو بذارید؟