<select name="Sorte7" onchange="Preis(7)">...
Besser:
<select name="Sorte7" onchange="Preis(this.form)">...
So hat man in der Auswertefunktion das Formular direkt zur Verfügung und kann wieder über die Feldnamen zugreifen:
So verliert man aber den Bezug zum auslösenden Feld. Warum nicht so:
<select name="Sorte7" onchange="Preis(this)">...
Auf den Form kommt man Bedarf ja immer noch innerhalb der Funktion...