שלח תשובה

זירת השאלות

695
צפיות
4
תשובות

טפסים ב html..

,‏ 22 בפברואר, 2005

קראתי את מדריך ה html באתר, ובקטע של הטפסים הסתבכתי קצת.

מובא במדריך הקוד הבא :


<form name="example" method="get" action="html_page13.html">
    :שם פרטי <INPUT type="text" name="firstName">
    :שם משפחה <INPUT type="text" name="lastName">
</form>



שיוצר שני טפסים.
נכתב במדריך שהמאפיין action חשוב מאוד כיוון שהוא מציין את יעד השליחה של הטופס. אבל לא ברור לי איך בדיוק הטופס ישלח, ע"י לחיצה על אנטר לאחר מילוי הפרטים? או שצריך ליצור כפתור submit בשביל השליחה, ואם כן אז למה חשוב כ"כ לציין את יעד השליחה בטופס עצמו אם אני יכול לציין אותו במאפייני הכפתור.
חוץ מזה לא הבנתי איך אפשר לשלוח את המידע מהטופס לדף html כמו שמובא בדוגמא, איך זה יראה, המידע יופיע פתאום במרכז הדף?
אם מישהו יוכל להבהיר לי את הנקודות האלה אודה לו מאוד.
לילה טוב ותודה מראש
(מקווה שהצגת השאלה היתה ברורה)
פוג

תגיות:

4 תשובות

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

    תשובות…
    1. הקוד יוצר טופס אחד עם שני פקדי טקסט (שאפשר להכניס בתוכם טקסט).
    2. שליחת הטופס תתבצע ע"י לחיצה על enter  באחת השדות (חוץ מ- textarea ולחצנים) או ע"י לחיצה על לחצן submit (שליחה).
    3. אינך יכול לציין את יעד השליחה של הטופס דרך הפקדים אלא רק דרך הטופס (או ברמה יותר מתקדמת דרך JS)
    4. כאשר שולחים טופס אז הנתונים שלו מועברים לדף שמצוין ב-Action  בשני דרכים התלויים במאפיין method
    אם צוין get  במאפיין method  (כמו בקוד שלך) הנתונים של טופס ישלחו דרך שורת הכתובת ואז ניתן יהיה לגשת אליהם דרל צד לקוח בעזרת JS או דרך צד שרת עם טכנולוגיית צד שרת (כמו JSP/PHP/ASP.Net) . הכתובת של אותו עמוד אחרי שליחת הטופס תיראה כך:

    path/file.html?input1_name=input1_value&input2_name=input2_value[&…]

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

  2. פוג הגיב:

    תודה רבה לך ..
    עוד שנים שלושה דברים להבהיר..
    אם בחרתי לשלוח את הנתונים בעזרת כפתור submit איפה עליי לציין את action
    בכפתור או בטופס?
    דבר שני, אמרת שאם ציינתי post במאפיין method הנתונים ישלחו לדף עצמו, האם זה אומר שהשם והסיסמה שהוזנו בפקדים יופיעו כטקסט בדף היעד?
    ולמה התכוונת שלא תהיה לי דרך לגשת אליו אלא ע"י צד שרת, אני לא אוכל פשוט לרשום בשורת הכתובת את כתובת הדף ולהגיע אליו?
    עוד דבר, האם טפסים זו דרך אפשרית לעידכון באתר, כלומר אם יש לי אתר שבו מדור מאמרים, אני אוכל להוסיף מאמר ע"י שליחתו בטופס מדף אחר?
    (כאגב, לא יזיק לי פעם לדעת באופן מדויק מה זה צד-שרת וצד לקוח בור שכמוני)
    שוב תודה ולילה טוב   

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

    תוכל לקרוא על זה במאמר למתחילים…
    שכתבתי ומופיע בעמוד הראשי. (בעניין צד לקוח צד שרת)
    אני אגיד לך בקצרה שצד לקוח זה כל מה שמתרחש בדפדפן – רינדור HTMLו-CSS, סקריפטים (כמו הקפצת הודעת אזהרה ברמה הפשוטה ביותר).
    צד שרת זה כל מה שאתה לא יכול לראות והוא בעצם מאחורי הקלעים (לרוב) של מה שמוצג לך בדפדפן. באם זה התחברות למאגרי מידע (כמו מסדי נתונים) או יצירת תמונה on the fly עם מספרים אקראיים.

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

    מקווה שעכשיו מובן
    ערב טוב

שלח תשובה