Setting a form field to null or undefined
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 "".