Coding with Jesse

Setting a form field to null or undefined

April 4th, 2006

I came across another browser difference while debugging some JavaScript. Let's say you were trying to set the value of a form field the following way:

document.getElementById('formField').value = someFunction();

But, it just so happens that someFunction() returns null. What happens when you set a form field value to null? Well, in Firefox and Safari, the value will be set to the empty string, "". Internet Explorer and Opera will set the field to the string "null".

Similarly, if the function forgot to return a value, the form field would get set to "undefined" (this is the same in every browser).

The moral of the story is, be careful not to let a form field value get set to null. You could avoid both these situations by doing something like:

document.getElementById('formField').value = someFunction() || "";

Note: This would actually replace undefined and null as well as 0 and false with "".

About the author

Jesse Skinner Hi, I'm Jesse Skinner. I work with development teams to speed up and stabilize web applications, reduce server costs, fix difficult bugs, modernize legacy applications, and improve developer productivity. I'd love to hear from you and see how I can make your life easier.