La tua diagnosi non e` corretta.
Si puo` individuare un campo tramite il getElementById().
L'unico caso e` se il nome e` ripetuto: gli id in una pagina non possono essere ripetuti (a differenza dei name).
Pero` nel tuo script c'e` l'uso scorretto di una variabile: id non e` un nome valido: e` usato dal DOM.
Inoltre la variabile x potrebbe essere usata altrove: e` meglio usare variabili locali.