הכנסת null כערך ל-textbox

נושא קטן, ישן ומעצבן ששוב בזבז שעות עבודה מיותרות. בניגוד לכל הדפדפנים האחרים, כאשר מנסים להכניס לתיבת טקסט ערך null באמצעות javascript, הדפדפן IE "מגדיל ראש" שלא לצורך ובמקום לאפס את הערך למחרוזת ריקה, הוא מכניס את המחרוזת "null". מה שמפתיע יותר הוא שגם IE8, שכבר מתחיל להתקרב יותר ויותר להיות דפדפן שעובד לפי התקנים, גם הוא ממשיך עם ההתנהגות הזו. ככל הנראה הסיבה להתנהגות זו היא ש-MS רצו בזמנו להקל על התוכניתנים ולהבין מחרוזות הכתובות ללא גרשיים כמחרוזות, ופשוט שכחו להתייחס למקרה המיוחד של null. אפשר לראות בזה באג כיוון שבכל הדפדפנים האחרים זה עובד בצורה תקינה (לפחות בבדיקה מול: chrome, safari, firefox).
 
אגב, התופעה משתחזרת גם בדפדפני IE ישנים יותר, כגון IE6 ו- IE7 (אשר עדיין בשימוש בפלחים גדולים באוכלוסיה).
 
ניתן לשחזר בצורה מאוד פשוטה באמצעות דף html. פשוט להעתיק את שתי השורות הבאות ולהריץ:

<input type='text' id='txt' />
<input type='button' onclick="document.getElementById('txt').value=null;" value='insert null' />

 
התיקון פשוט מאוד.סה"כ יש להחליף את null במחרוזת ריקה:
 

<input type='text' id='txt' />
<input type='button' onclick="document.getElementById('txt').value='';" value='insert null' />

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: eladv
Posted on: 11/17/2009 at 11:09 PM
Tags: , ,
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed