שלח תשובה

זירת השאלות

683
צפיות
6
תשובות

שליחת נתונים ב-AJAX ע"י ENTER.

,‏ 25 בינואר, 2006

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

דרך JScript רגיל, זה לא בעיה כ"כ, כמו שניר כתב לי פה:
https://webmaster.org.il/forums/Message.asp?Id=44547

אבל, אני משתמש בחבילה "Prototype library", ככה שאין לי מושג כיצד אני משתיל את זה בקוד שמה את הפונ' של ניר.


אשמח מאוד לקבלת מידע בקשר לזה.
תודה רבה.

תגיות:

6 תשובות

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

    ה-J ב-AJAX אומר JavaScript
    הכוונה היא שאין דבר כזה AJAX ללא JavaScript. זה לא מחליף אחד את השני ולא משלים אחד את השני, AJAX אפשר לומר שזה חלק מ-JavaScript.

    אם אתה משתמש בספריית Prototype אבל לא יודע לעבוד עם DOM/JS  אז תמחוק את הספרייה ותחזור לספרים/מדריכים על DOM ו-JS.
    כשתדע אותם כמו שצריך, תחזור לספריית ה-Prototype.

    כי כמו שאמרתי כבר, הדברים שאתה מבקש לעשות הם טריוויאליים.

  2. KingYes הגיב:

    שלום ניר..
    אני יודע דיי טוב JScript אבל משום מה לא מצליח לממש את זה עם הספרייה Prototype.

    חרשתי על הקוד.. ולא מצאתי שום דרך לעשות זאתי.

    אני יסביר בדיוק מה התקשתי..
    יש את הקוד הזה נגיד:


    Event.observe(id, 'click', function(){edit($(id))}, false);

    הקוד למעלה מפעיל את הפונ' edit() ע"י לחיצה על השדה הזה (מה שה-ID שלו שווה למשתנה שמה).

    יש אפשרות של keypress, אבל אייני מצליח להכניס אליו את הפרמטרים של ה-KEY_RETURN (זה משתנה שיש בספרייה הזאתי המחזיק את המספר 13).

    אשמח מאוד אם תוכל לעזור לי בזה.

    תודה רבה.

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

    את ממשק האירועים אתה מבין ?
    ממשק האירועים הוא בעצם הטכניקה שבה משתמשים באירועים:
    Event.observe היא פונקציה עוטפת ל-addEventListener ו-attachEvent, שאלה הן פונקציות שמוסיפות מאזין לאירוע, פונקציה שתפעל  ברגע שהאירוע יתרחש.

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

    Event.observe(id, 'keypress', function(e){
    e = e?e:event; // fix for MSIE
    edit($(id)); }, false);

    בתוך הפונקציה של האירוע אתה יכול לעשות את הבדיקה האם הוקש ה-Enter ואם כן אז לקרוא לפונקציה edit, מובן ?

  4. KingYes הגיב:

    הממ..
    ע"י איזה משתנה בדיוק אפשר לדעת את הכפתור שהוקש?

    ניסיתי להציג (ע"י alert) את התוכן של e, והוא מציג שזה אובייקט.
    ניסיתי להשתמש בכל מיני גישות להגיע לתוכן שלו, ולא מצליח..

    מה הדרך?

  5. KingYes הגיב:

    אגב……
    ניסיתי גם את הקוד הזה:


      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, הוא טוען שאין שום תוכן לזה.

  6. KingYes הגיב:

    חחחח.. הייתי צריך להשתמש ב-keyCode.

שלח תשובה