Почему у меня не изменяется глобальная переменная?

Суть моей программы: на моем сайте есть поле для ввода имени, это имя должно сохраняться для того чтобы вывестись во всплывающем модальном окне. Проблема в том, что глобальная переменная username не меняется после введения имени пользователя, и в модальном окне выводит значение, которое я объявил до выполнения функции nameForm(). Вот код:

window.username = "test";

function nameForm(){
    username = document.name.user_name_text.value; 
    alert("Здравствуйте, " + username +"!"); //выводит окно с введенным именем
}

function openPopup(){
    ...
    document.getElementById("popupNameUser").innerHTML = username;//выводит не введенное значение, а "test"
    ...
}

Ответы (1 шт):

Автор решения: Oliver Patterson

А если так?

window.username = "test";

function nameForm(){
    window.username = document.name.user_name_text.value; 
    alert("Здравствуйте, " + window.username +"!"); //выводит окно с введенным именем
}

function openPopup(){
    ...
    document.getElementById("popupNameUser").innerHTML = window.username;//выводит не введенное значение, а "test"
    ...
}
→ Ссылка