Ho scoperto una cosa, il codice funzionerebbe se i campi fossero statici, mentre se li creo dinamicamente con la funzione createElement non me li riconosce.