אהלן ,
יש לי חיפוש AJAX כחיפוש ראשי , הבעיה איתו הוא שהוא מפעיל את הפונקציה ע"י onkeyup ,
ולרוב יש מצבים שאתה בא לכתוב מילה או משפט ואז הוא מפעיל את פונקציית החיפוש הרבה פעמים ולחינם.
השאלה שלי היא איך למנוע את זה ,
חשבתי על הכיוון של להפעיל את הפונקציה רק אחרי 2 שניות אחרי האות האחרונה שהוקלדה , מה שלא כל כך הלך לי.
הנה מה שעשיתי :
PHP קוד:
function startSearch(myval){
mykey = myval;
setZero();
}
function searchEngineStep1(){
if(duration == 0){
duration = 1;
setTimeout('searchEngineStep2()',2000);
}else{
duration = 0;
searchEngineStep2();
}
}
function searchEngineStep2(){
if(duration == 0)
searchEngineStep1();
else{
duration = 0;
askSuggestion(mykey);
}
}
אשר duration הוא משתנה של זמן , מאותחל ב0 ,
וmykey הוא משתנה שמאותחל לכלום ואז לאחר מכן מכיל את התוכן של מילת החיפוש,
הפונקציה askSuggestion היא פונקציית AJAX שמפעילה את החיפוש.
אתם יכולים לעבור על הקוד פה למעלה אבל הוא לא עובד ,
אשמח לעזרה בנושא , אני לא יכול להשאיר את החיפוש ככה , זה ממש לא לעניין,
אשמח אם תעזרו לי למצוא פטרון לבעיה , מה שתכננתי עליו כמו שאמרתי מקודם זה להפעיל את פונקציית הAJAX רק לאחר 2 שניות שהאות האחרונה הוקלדה.
תודה רבה.