683
צפיות
צפיות
6
תשובות
תשובות
שליחת נתונים ב-AJAX ע"י ENTER.
שלום לכולם,
אני כבר מחפש המון המון זמן, כיצד אפשר לשלוח נתונים דרך ה-AJAX ע"י לחיצה על מקש ה-ENTER שבמקלדת.
דרך JScript רגיל, זה לא בעיה כ"כ, כמו שניר כתב לי פה:
https://webmaster.org.il/forums/Message.asp?Id=44547
אבל, אני משתמש בחבילה "Prototype library", ככה שאין לי מושג כיצד אני משתיל את זה בקוד שמה את הפונ' של ניר.
אשמח מאוד לקבלת מידע בקשר לזה.
תודה רבה.
6 תשובות
ה-J ב-AJAX אומר JavaScript
הכוונה היא שאין דבר כזה AJAX ללא JavaScript. זה לא מחליף אחד את השני ולא משלים אחד את השני, AJAX אפשר לומר שזה חלק מ-JavaScript.
אם אתה משתמש בספריית Prototype אבל לא יודע לעבוד עם DOM/JS אז תמחוק את הספרייה ותחזור לספרים/מדריכים על DOM ו-JS.
כשתדע אותם כמו שצריך, תחזור לספריית ה-Prototype.
כי כמו שאמרתי כבר, הדברים שאתה מבקש לעשות הם טריוויאליים.
שלום ניר..
אני יודע דיי טוב JScript אבל משום מה לא מצליח לממש את זה עם הספרייה Prototype.
חרשתי על הקוד.. ולא מצאתי שום דרך לעשות זאתי.
אני יסביר בדיוק מה התקשתי..
יש את הקוד הזה נגיד:
Event.observe(id, 'click', function(){edit($(id))}, false);
הקוד למעלה מפעיל את הפונ' edit() ע"י לחיצה על השדה הזה (מה שה-ID שלו שווה למשתנה שמה).
יש אפשרות של keypress, אבל אייני מצליח להכניס אליו את הפרמטרים של ה-KEY_RETURN (זה משתנה שיש בספרייה הזאתי המחזיק את המספר 13).
אשמח מאוד אם תוכל לעזור לי בזה.
תודה רבה.
את ממשק האירועים אתה מבין ?
ממשק האירועים הוא בעצם הטכניקה שבה משתמשים באירועים:
Event.observe היא פונקציה עוטפת ל-addEventListener ו-attachEvent, שאלה הן פונקציות שמוסיפות מאזין לאירוע, פונקציה שתפעל ברגע שהאירוע יתרחש.
למאזין לאירוע יש פרמטר אחד, שהוא אובייקט של האירוע, אובייקט זה יאותחל עם התרחשות האירוע ע"י הדפדפן, מבלי התערבותך.
אתה יכול לפנות אליו ע"י הצבת פרמטר בחתימה של הפונקציה:
Event.observe(id, 'keypress', function(e){
e = e?e:event; // fix for MSIE
edit($(id)); }, false);
בתוך הפונקציה של האירוע אתה יכול לעשות את הבדיקה האם הוקש ה-Enter ואם כן אז לקרוא לפונקציה edit, מובן ?
הממ..
ע"י איזה משתנה בדיוק אפשר לדעת את הכפתור שהוקש?
ניסיתי להציג (ע"י alert) את התוכן של e, והוא מציג שזה אובייקט.
ניסיתי להשתמש בכל מיני גישות להגיע לתוכן שלו, ולא מצליח..
מה הדרך?
אגב……
ניסיתי גם את הקוד הזה:
Event.observe(obj.id+'_edit', 'keypress', function(e){
e = e?e:event; // fix for MSIE
if(e.charCode==13){ // check if the user press on [Enter] key
// call to function
alert("enter is pressed");
}
}, false);
ועדיין לא מבצע כלום.
שניסיתי להדפיס רק את ה-e.charCode, הוא טוען שאין שום תוכן לזה.
חחחח.. הייתי צריך להשתמש ב-keyCode.