Cita: pero el submit m sigue cogiendo el ultimo contrato del select
Primero elimina el selected="disabled" que sólo causa ruido.
Ahora,
en un formulario sin Javascript eso no pasaría, carece de sentido.
¿No será que tu función que ejecutas en "onchange" estará arruinando el formulario?