внутри функции заведи переменную с пустой строкой, в цикле собирай строку. Дальше внутри функции, но вне цикла, заменяй значение строки в ноде. Тогда у тебя при повторном нажатии будет происходить то же самое, но строка будет одна и та же. Если надо, чтобы при повторном нажатии вообще ничего не происходило (в варианте выше происходит то же самое, что и при первом вызове, просто без видимого эффекта), то тогда надо отключать кнопку или заводить переменную с флагом.