Beh.. visto che abbiam voglia di imparare..

come ti sei inventato i <input type="text" .. style="display: none"> ?

io ho sempre usato i campi hidden: <input type="hidden" ... >

e poi ti do una dritta, visto che subtring già lo conosci.. potresti anche usare la funzione indexOf, no?

Immagina che i nomi del campo data siano campoData_1, campoData_2 eccetera eccetera

f.name.indexOf("_") (vado a memoria..) dovrebbe restituire la posizione del carattere "_" nel nome dell'input

quindi con il metodo substring (f.indexOf("_")) o forse substring (f.indexOf("_")+1)
dovresti ottenere tutta la parte del name a desra di "_"

Supponiamo anche che i nomi dei campi di appoggio siano campoAppoggio_1, campoAppoggio_2, eccetera

"campoAppoggio_"+ il risultato del calcolo precedente ti da dinamincamente il nome del campo che ti serve...
poi fai document.getElementByName(nomeCalcolatoDinamicamen te) e ottieni il tuo input.

Ora.. non so se getElementByName funzioni sempre, di sicuro funziona sempre
document.getElementById(idElemento) però devi assegnare il valore corretto agli id dei campi hidden.. id="campoData_1" eccetera...

Le regular expression.. mi informerò più avanti..