הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   function לא רוצה להחזיר ערך. (https://hosts.co.il/forums/showthread.php?t=69029)

dp92 01-11-08 13:54

function לא רוצה להחזיר ערך.
 
שלום
כתבתי את הקוד הבא בjavascript:
קוד:

function validate(filed,what) {
                                http.abort();
                                http.open("GET", "validate.php?filed=" + filed + "&what=" + what, true);
                                http.onreadystatechange=function() {
                                        if(http.readyState == 4) {
                                                alert(http.responseText);
                                                if (http.responseText > 0) { alert("return true!"); return true; }
                                                else { alert("return false!"); return false; }
                                        }
                                }
                                http.send(null);
                        }

אני קורה לפונקציה ככה:
קוד:

if (validate("nick",document.reg.nick.value)) { alert("done") ; nickid.innerHTML="כנוי תפוס"; ok=false; }
עכשיו אני מקבל רק 2 alert שהם:
1
return true!
למרות שהייתי צריך לקבל גם alert שלישי "done"
הפונקציה פשוט לא עושה return , ואני שואל למה >: ?

SDF 01-11-08 17:20

הפונקציה vailidate() לא מחזירה ערכים.
הפונקציה שהגדרת לרוץ onreadystatechange לעומת זאת כן מחזירה ערכים,
אבל אתה לא יכול "לראות" אותם, כי לא אתה קורא לפונקציה.

dp92 01-11-08 17:53

יש לך רעיון איך לתקן את זה?
אני דיי חדש בajax... העתקתי את רוב הקוד ממדריך

SDF 01-11-08 22:08

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


כל הזמנים הם GMT +2. הזמן כעת הוא 17:23.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ