Все дело в строке
document.getElementById('inputing').innerHTML += str;
Это работает также как и
document.getElementById('inputing').innerHTML = document.getElementById('inputing').innerHTML + str;
Т.е. в элементе #inputing полностью меняется содержимое. А value у существующих инпутов являются состоянием, а не разметкой, поэтому value сбрасывается в то значение которое установлено в атрибуте value. В вашем случае это пустая строка.
Для того чтобы добиться желаемого поведения вам необходимо
создать 'элемент и
добавить в #inputing