איך לא לאבד גולשים בטופס HTML
התשובה היא כמובן להשתמש בקוד תקני. כך גם הגולשים שמשתמשים ב-firefox, Mozilla, Konqueror ועוד, יכולו להשתמש באתר שלך ואתם מרוויחים לקוחות מרוצים. הפעם, אני רוצה להתייחס לנקודה מעניינת: מי שניסה להשתמש בחיפוש המתקדם של הפורומים בתפוז באחד הדפדפנים המתקדמים גילה בודאי שהתוצאות לא נכונות. בדיקת הטופס (form) הנשלח תראה לנו שהתוכן של שדות-טקסט נעלם אי-שם בדרך. השדות הנעלמים הם שדות דינמיים שמוגדרים בקוד ג'אווה כשלוחצים על ה- check-boxes שלצידם (שימו לב שתיבות הטקסט מופיעות ונעלמות בלחיצה, איתן מוגדרים גם המשתנים של הטופס שמחזיקים אותם). זה יכול להביא אותנו למחשבה שגויה שהדפדפנים לא תומכים בשליחת שדות דינמיים בטופס ואכן בעבר פורסם דף חלופי לחיפוש המתקדם שמסתמך על הגדרת השדות האלו באופן סטטי (וכתוצאת לוואי משנה גם את ההתנהגות של הדף). אולם, אחרי מחקר קצר (בבאגזילה) מסתבר שהבעיה אחרת - הקוד של הדף נכתב כך שיש טבלה (table), בתוכה מוכל ה-form ובתוכו מוכלים תאים (td) כאשר חלק מהם מכילים את המשתנים. מסתבר שבמקרה כזה ה"מנוע" של מוזילה סוגר את ה-form לפני הכניסה לתא וכך הוא מאבד את המשתנים הרצויים. הפתרון לכך הוא פשוט - מזיזים את הפתיחה והסגירה של הטופס כך שיכיל את כל הטבלה, ועכשיו כל המשתנים שבפנים נשלחים איתו. ע"פ הפתרון הזה ערכתי את הדף של החיפוש המתקדם (סה"כ מדובר בהזזת שתי שורות קוד של פתיחת הטופס ושל הסגירה שלו) ואתם מוזמנים להשתמש בו.
התשובה היא כמובן להשתמש בקוד תקני. כך גם הגולשים שמשתמשים ב-firefox, Mozilla, Konqueror ועוד, יכולו להשתמש באתר שלך ואתם מרוויחים לקוחות מרוצים. הפעם, אני רוצה להתייחס לנקודה מעניינת: מי שניסה להשתמש בחיפוש המתקדם של הפורומים בתפוז באחד הדפדפנים המתקדמים גילה בודאי שהתוצאות לא נכונות. בדיקת הטופס (form) הנשלח תראה לנו שהתוכן של שדות-טקסט נעלם אי-שם בדרך. השדות הנעלמים הם שדות דינמיים שמוגדרים בקוד ג'אווה כשלוחצים על ה- check-boxes שלצידם (שימו לב שתיבות הטקסט מופיעות ונעלמות בלחיצה, איתן מוגדרים גם המשתנים של הטופס שמחזיקים אותם). זה יכול להביא אותנו למחשבה שגויה שהדפדפנים לא תומכים בשליחת שדות דינמיים בטופס ואכן בעבר פורסם דף חלופי לחיפוש המתקדם שמסתמך על הגדרת השדות האלו באופן סטטי (וכתוצאת לוואי משנה גם את ההתנהגות של הדף). אולם, אחרי מחקר קצר (בבאגזילה) מסתבר שהבעיה אחרת - הקוד של הדף נכתב כך שיש טבלה (table), בתוכה מוכל ה-form ובתוכו מוכלים תאים (td) כאשר חלק מהם מכילים את המשתנים. מסתבר שבמקרה כזה ה"מנוע" של מוזילה סוגר את ה-form לפני הכניסה לתא וכך הוא מאבד את המשתנים הרצויים. הפתרון לכך הוא פשוט - מזיזים את הפתיחה והסגירה של הטופס כך שיכיל את כל הטבלה, ועכשיו כל המשתנים שבפנים נשלחים איתו. ע"פ הפתרון הזה ערכתי את הדף של החיפוש המתקדם (סה"כ מדובר בהזזת שתי שורות קוד של פתיחת הטופס ושל הסגירה שלו) ואתם מוזמנים להשתמש בו.