quando usi questa funzione: document.getElementById('nome').value; significa che vuoi recuperare il valore di un campo html che ha id = nome

Nella parte html non esiste questo campo e quindi ti da errore.

<input type="text" name="nome" id="nome">