Se cambio l'id del modulo di preventivo aggiungendo qualcosa tipo i-1 mi funziona, il problema è che poi nel database finisce proprio i-1 e non 1 e quindi mi sballa tutto.
Ok, ma direi che questo è un problema minimo che si può risolvere facilmente. L'importante è avere chiaro il concetto di univocità degli id, da lì non si scappa.
Quindi non ho capito se c'e' un modo per lasciare l'id senza mettere la lettera e il trattino per diversificare il nome oppure devo inserirli per forza
Gli id degli elementi HTML devono essere INCONTROVERTIBILMENTE UNIVOCI.
Quello che puoi fare, se non vuoi modificare i value delle option è passare, ad esempio, un prefisso alla funzione, da aggiungere al valore numerico restituito del select.
Un esempio vale più di mille parole:
codice:
<!DOCTYPE HTML>
<html lang="it">
<head>
<title>Esempio</title>
<meta charset="utf-8">
<script>
function showNode (sID) {
showNode.active && showNode.active.style.setProperty("display", "none");
showNode.active = document.getElementById(sID);
showNode.active && showNode.active.style.setProperty("display", "block");
}
</script>
</head>
<body>
<select onchange="showNode('A'+this.value);">
<option value="0" selected="">Seleziona</option>
<option value="1">Lorem</option>
<option value="2">dolor</option>
<option value="3">sit amet</option>
<option value="4">consectetur</option>
<option value="5">adipiscing</option>
<option value="6">elit</option>
</select>
<div id="A1" style="display: none;">Lorem</div>
<div id="A2" style="display: none;">dolor</div>
<div id="A3" style="display: none;">sit amet</div>
<div id="A4" style="display: none;">consectetur</div>
<div id="A5" style="display: none;">adipiscing</div>
<div id="A6" style="display: none;">elit</div>
<hr>
<select onchange="showNode('B'+this.value);">
<option value="0" selected="">Seleziona</option>
<option value="1">Morbi</option>
<option value="2">venenatis</option>
<option value="3">nibh</option>
<option value="4">consectetur</option>
<option value="5">sit amet</option>
<option value="6">mi elementum</option>
<option value="7">semper</option>
</select>
<div id="B1" style="display: none;">Morbi</div>
<div id="B2" style="display: none;">venenatis</div>
<div id="B3" style="display: none;">nibh</div>
<div id="B4" style="display: none;">consectetur</div>
<div id="B5" style="display: none;">sit amet</div>
<div id="B6" style="display: none;">mi elementum</div>
<div id="B7" style="display: none;">semper</div>
</body>
</html>
Nota come passo il valore alla funzione in modo diversificato per i due select