Ciao, la sintassi a parentesi quadre può essere utilizzata per accedere alle proprietà di un oggetto, specificando appunto il nome della proprietà sotto forma di stringa.
Infatti alka ha risposto esattamente a ciò che hai chiesto nel primo post.

Quote Originariamente inviata da riccardo1975
dove altrocampo però deve essere sostituito con il valore restituito da document.form.id.value
Quote Originariamente inviata da alka
codice:
var nomeCampo = document.form.id.value;
alert(document.form[nomeCampo].value);
Ora però tu stai chiedendo una cosa diversa. Il campo form.id ti restituisce giusto un numero, da quel che hai indicato, ma se vuoi che tale numero poi si riferisca al valore recapito1, recapito2, ecc., allora puoi concatenare la stringa "recapito" al valore del campo id, così da ottenere il nome voluto per l'elemento a cui vuoi fare riferimento.

Puoi farlo sempre usando la sintassi a parentesi quadre ma passando la stringa costruita a dovere:

codice:
var nomeCampo = 'recapito' + document.form.id.value;
var campo = document.form[nomeCampo];
alert(campo);
Quindi puoi applicare il focus a campo come meglio ti pare.

Prova e fai sapere