Во втором примере кода вы сохраняете изначальное значение поля value, которое в этот момент равняется пустой строке. При сохранении данных примитивных типов в переменную в неё копируется значение. Судя по всему, вы хотели получить прямую ссылку на это поле, и выводить значение по ней. В этом случае так не будет работать.
Чтобы получать значение из поля value, вам надо обращаться к полю объекта при каждом клике. Что вы можете закешировать, то есть сохранить ссылку, так это ссылку на элемент input, как и реализовано в вашем первом примере.