Ciao e benvenuto, a grandi linee, dovresti inserire lo script di validazione dentro una funzione che puoi richiamare, ad esempio, al click dei submit (o, meglio, sull'evento submit dei vari form). Alla funzione puoi quindi passare, come argomento, l'id del form o il riferimento del form stesso (usando this), in modo da poterlo "identificare" dentro la funzione.
Un esempio di massima in jQuery:
codice HTML:
<form action="#" method="POST" class="form-inline">
<input type="hidden" name="idtab_dipendente" value="1"/>
[Form 1: altri controlli]
<input type="submit" value="Salva">
</form>
<form action="#" method="POST" class="form-inline">
<input type="hidden" name="idtab_dipendente" value="2"/>
[Form 2: altri controlli]
<input type="submit" value="Salva">
</form>
<script>
$('.form-inline').submit(validazioneForm); // Applico un listener per tutti i form selezionati tramite una classe
function validazioneForm(event){
event.preventDefault(); // Inibisco l'azione submit di default
const form = this; // In questo contesto il "this" fa riferimento al form relativo
// all'evento submit a cui è applicata questa funzione come listener
const form_data = new FormData(form); // Resto del codice, chiamata AJAX
$.ajax(/* ... */);
}
</script>
PS:
Senza offesa, quel poco di codice che hai riportato mi sembra impostato in modo alquanto "artigianale" e presenta qualche errore di validazione:
- vedo che vai a costruire i form dentro dei <td>, voglio sperare che non si tratti di un layout tabellare;
- vedo che stai usando parecchio stile in linea sui tag; è buona pratica invece tenere separate, per quanto possibile, la presentazione (style) dalla struttura html, magari organizzando meglio il css, così da avere un codice più pulito;
- vedo che stai definendo i gestori di evento direttamente sui tag (vedi onclick="..."); anche in questo caso, come per la presentazione, è buona pratica tenere separata l'azione dalla struttura, magari impostando meglio l'applicazione di listener via JavaScript/jQuery;
- non è consentito l'uso del valore "submit" per l'attributo "type" negli elementi <a>, questo genera un errore di validazione; perché non usare invece un button o un input con type=submit?
- gli "id" html devono necessariamente essere univoci; se il ciclo crea più form nella stessa pagina e con la stessa struttura di quello postato, assicurati di non ripetere id uguali (vedi id="data" e id="ore_lavoro"), se fosse così avresti degli errori di validazione; magari è preferibile usare delle classi così da poter applicare meglio anche lo style in modo separato.