יצירת אלמנט/אובייקט קלט (input) באמצעות שיטות ה-DOM והגדרת המאפיין name של האובייקט.
הדרך ליצירת אלמנט באמצעות ה-DOM היא כמובן באמצעות השיטה createElement של האובייקט document.
הגדרת מאפיין של אלמנט נעשית באמצעות השיטה setAttribute גם היא של אובייקט המסמך.
לרוב פעולות אלו של יצירת אלמנט והגדרת מאפיין נעשית בצורה חלקה וללא תקלות, אך באקספלורר (לפחות בגירסה 6 - לא טרחתי לבדוק את כל הגירסאות) לא ניתן להגדיר את המאפיין name (של אובייקט קלט) במהלך ריצת הקוד, דבר שגורם לבעיה כיון שאם אנו צריכים לשלוח את המידע לשרת, בדרך המסורתית עלינו להשתמש במאפיין name (כמובן שקיימים היום דרכים נוספות אך לא זה נושא המאמר).
לכן באקספלורר מגדירים את המפאיין name בעת יצירת האלמנט באופן הבא:
קוד:
document.createElement('<input name="the_name">');
כמובן שכדי שהקוד יתאים גם לדפדפנים אחרים נשתמש בקוד כדוגמת הקוד הבאה:
קוד:
var d = document;
var IE = d.all ? true : false;
if(IE)
{
var input = d.createElement('<input name="the_name">');
}
else
{
var input = d.createElement('input');
input.setAttribute('name', 'the_name');
}
אגב, גם כשהמטרה אינה להשתמש במידע בצד השרת עדיין צריך להגדיר את המאפיין name לפחות באובייקט קלט מסוג radio, אחרת לא ניתן יהיה לבצע בחירה על אחד מלחצני הרדיו.
- - - - - - - - - - - - - - - - - - - - - - - - - -
המאמרון הקצרצר בא לתת מענה למי שנתקל בבעיה על מנת לחסוך לא חיפוש מידע נוסף (לו הוא יתקל בהודעה זו לפני שהוא יתקבל בהסבר מקביל בשפה זרה לו, או אם הוא ישכיל לחפש קודם אצלנו בפורום
), אך הוא בהחלט לא מקיף וכפי שכבר ציינתי במספר הערות לא טרחתי לבדוק את הדברים ביותר מדי דפדפדנים או/ו גירסאות שונות.
כמו"כ כפי שניתן להשים לב, המטרה במאמר קצר זה אינה ללמד כיצד ליצור אלמנטים באמצעות שיטות ה-DOM, אלא מיועדת למי שכבר יש לו רקע בנושא ורק חסר לו פרט זה.