ABA


"|עזרה| בעיה קטנה ב PHP: עוגיות, Jquery $post"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #15632 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15632
שרון אורן 
חבר מתאריך 27.5.02
259 הודעות
   15:55   15.03.10   
אל הפורום  
  |עזרה| בעיה קטנה ב PHP: עוגיות, Jquery $post  
 
   ערכתי לאחרונה בתאריך 15.03.10 בשעה 15:58 בברכה, שרון אורן
 
שוב שלום ותודה לכולם על העזרה הרבה.

יש לי דף כתוב ב PHP. ויש בו סקריפט דינמי שאמור לשנות את העוגיות בזמן אמת במקביל להגדרות שהמשתמש בחר.
יש לי מערך: 1,2,3,4,5 שהוא שמור ככה גם בעוגיה כברירת מחדל בכניסה הראשונה של המשתמש לאתר.
אם המשתמש בחר לשנות את ההגדרות אז הסדר במערך צריך להשתנות.
לשם כך השתמשתי בקוד הבא:


jQuery.noConflict();
(function($) {

$.post("dynamic/wi_switch.php", {arr: cp}, function(data){
if (data.length>0) {
Dobj=document.getElementById("dw"+PUT_INDX);
Dobj2Replace=document.getElementById("dw"+PUSH_INDX);
var tmpObj=Dobj.innerHTML;

Dobj.innerHTML=Dobj2Replace.innerHTML;
Dobj2Replace.innerHTML=tmpObj;
arr=explode("1|2|3|4|5","|");
for (i=1;i<=5;i++) {
num=chr2num(Wigt[i-1],arr);
p=chr2num(Wigt[i-1],Wigt)-1;
ttll=getWittl(Wigt[i-1]);

if(navigator.userAgent.indexOf("Gecko")>-1) {
Swt_obj.setAttribute("onclick","startWiSwitchWiz("+p+",'"+ttll+"','"+Wigt[i-1]+"',"+i+",1)");
obj.setAttribute("onclick","startprocessWiSwitch("+num+",'"+Wigt[i-1]+"',"+i+",1)");
}
else {
Swt_obj.onclick = new Function ("startWiSwitchWiz("+p+",'"+ttll+"','"+Wigt[i-1]+"',"+i+",1)");
obj.onclick = new Function("startprocessWiSwitch("+num+",'"+Wigt[i-1]+"',"+i+",1)");
}

PUT=""; PUSH="";PUT_INDX="";PUSH_INDX="";
finished=true;

}
resetWiSwitch();

}
});
})(jQuery);

הסקריפט שכתבתי עובד מעולה. רק יש בעיה אחת: הזמן שלוקח לו לבצע את הסקריפט המרוחק - לא שזה קריטי מבחינת המשתמש זה נמדד במילי שניות.
אבל במצב שלוקח לשרת קצת יותר זמן לבצע את הסקריפט המרוחק שבעצם מעדכן את העוגיות,
או שהמשתמש התחיל שוב לשנות את ההגדרות לפני שהסקריפט סיים - אז אני יכול וקרה לי שהגעתי למצב שהעוגייה קיבלה את הערך הבא: 5,2,1,3,3.
יש פעמיים את הערך 3 וזו תוצאה הרסנית עבורי.

אפשר לומר שהוא לא הספיק לשנות את הערך של האירוע onclick לפני הלחיצה הבאה של המשתמש על הכפתור.


ניסיתי ע"י המשתנה הבוליאני finished שרק אם הוא שווה ל true יהיה אפשר להתחיל שוב את התהליך אבל זה לא ממש עזר.

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

תודה ויום טוב

פתיחת אייפונים נעולים לסים פרי
https://www.unlock-it.co.il


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  למה שלא תעשה DISABLE לכפתור שאחראי על זה? Ice Cold  15.03.10 19:38 1
     לא שגיאת קוד.. שרון אורן  15.03.10 21:52 2
         השתמשתי בעצה שלך.. נראה שפתר את הבעיה שרון אורן  15.03.10 22:41 3
     שאלה arikbh 16.03.10 15:45 4

       
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   19:38   15.03.10   
אל הפורום  
  1. למה שלא תעשה DISABLE לכפתור שאחראי על זה?  
בתגובה להודעה מספר 0
 
ואז רק בסיום תחזיר אותו?

ובלי קשר, יכול להיווצר מצב אצלך שתקבל פעמיים 3? זה לבד נראה לי כמו שגיאת קוד...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
שרון אורן 
חבר מתאריך 27.5.02
259 הודעות
   21:52   15.03.10   
אל הפורום  
  2. לא שגיאת קוד..  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 15.03.10 בשעה 22:15 בברכה, שרון אורן
 
תקשיב בחנתי את הקוד כמו שצריך, ברגע שאני מסיר את הפקודה של העדכון עוגיה הכל עובד חלק - הפקודה של העדכון שלה לא יכולה ליצור את הבעיה עצמה מכיון שאין חשיבות מה שהפונקציה מחזירה.. הנתונים שמורים במערך ב JS בעמוד עצמו).

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

פתיחת אייפונים נעולים לסים פרי
https://www.unlock-it.co.il


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
שרון אורן 
חבר מתאריך 27.5.02
259 הודעות
   22:41   15.03.10   
אל הפורום  
  3. השתמשתי בעצה שלך.. נראה שפתר את הבעיה  
בתגובה להודעה מספר 2
 
   ביטלתי את Onclick והוא מחזיר אותו רק ברגע שמסתיים התהליך..

תודה!

פתיחת אייפונים נעולים לסים פרי
https://www.unlock-it.co.il


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
arikbh

   15:45   16.03.10   
אל הפורום  
  4. שאלה  
בתגובה להודעה מספר 1
 
   למחוק


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net