intanto se scrivi
if(valore == "undefined")
la condizione e' che nel value del campo sia contenuto esattamente "undefined"
che non sembra essere quello che cerchi

il controllo che probabilmente hai visto potrebbe essere
if(typeof riferimentoAelementoDelForm == "undefined")
cioe' "se esiste quell' elemento"