שלח תשובה

זירת השאלות

476
צפיות
2
תשובות

onKeyUp ו-ajax

,‏ 25 ביולי, 2008

שלום,

אני מפעיל פונ' באירוע של onKeyUp, בפונ' עצמה עשיתי השהייה לפעולה שאני רוצה לעשות באמצעות setTimeout – הפעולה היא פנייה לשרת ושליפת נתונים (ajax).
האם בכל פעם שאני מקליד אות נוספת, יש שוב פעם השהייה ופנייה לשרת, או שהsetTimeout מתאפס בכל אות נוספת שאני כותב?
במידה וכן יש השהייה, איך אני יכול למעט בפניות לשרת?

תודה

תגיות:

2 תשובות

  1. ניר טייב הגיב:

    אתה צריך לסגור את ה-timer שפתחת…
    בעזרת clearTimeout:


    function doX(){ … }

    var timer = setTimeout(doX, 500);
    clearTimeout(timer);

  2. RoboDog הגיב:

    זה לא מתחדש
    אתה צריך לכלול בתחילת הפונקציה של הonKeyUp את ביטול הקריאה הראשונה.

    אתה יכול לעשות את זה כך:
    someName = setTimeout(FunctionName, interval)

    וכאשר היוזר לוחץ שוב פעם על מקש
    clearTimeout(someName)

    אבל במקום זה, אם את ה מנסה לבדוק תאימות מול המסד נתונים, אולי תחכה פשוט שהיוזר ייצא מתוך השדה, ואז תפעיל אז זה פשוט ב-onBlur .

    בהצלחה

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!