L'istruzione "onChange....." è indispensabile se le due liste si trovano sulla stessa pagina, ma in questo caso devi risolvere un altro problema: immagino che il form, quando è completo, dovrà inviare i dati a un'altra pagina.
L'indirizzo della pagina è specificato nel tag
<form name="nome_del_form" method="post" action="indirizzo "></form>
Per fare in modo che i dati prendano la via dell'indirizzo quando l'utente clicca sul tasto submit, ma non quando aggiornano la seconda lista scegliendo una categoria dalla prima lista, dovrai togliere l'indirizzo (cioè l'action) dal tag form e metterlo in un controllo javascript facendo in questo modo:
- il pulsante submit sarà creato dall'istruzione
codice:
<input type="button" value="invìa" onClick="javascript: vai();">
e nell'head della tua pagina metterai la funzione javascript:
codice:
function vai() {
document.nome_del_form.action="indirizzo";
document.nome_del_form.submit();
}