теперь самое простое решение этой проблемы - упаковать выражение "document.getElementById ('id'). Value" в конструкторе класса String:
JSON.stringify({a:new String(document.getElementById('id').value)}); -> {"a":""}
я не могу найти основную проблему, но с этим она хорошо работает и в Internet Explorer, и в FireFox.
Я не очень доволен этим грязным решением, но усилий не так много.
Библиотека JSON: https://github.com/douglascrockford/JSON-js/blob/master/json2.js