Hola otra vez:
El form debes tenerlo tal como lo tenías siempre...
En el ejemplo, no puse ningún action porque no hacía falta...
He probado con esto y funciona bien:
<html>
<head>
<script language="JavaScript">
function habilita(){
document.frm.txt.disabled = false;
document.frm.txt.value = "";
}
function deshabilita1(){
document.frm.txt.disabled = true;
document.frm.txt.value = "uno";
}
function deshabilita2(){
document.frm.txt.disabled = true;
document.frm.txt.value = "dos";
}
</script>
</head>
<body>
<form name='frm' action="javascript
:alert('hola')">
<select name='seleccionado' onchange="window[this.value]()">
<option value="habilita">text habilitado
<option value="deshabilita1">uno
<option value="deshabilita2">dos
</select>
<input type='text' name='txt' enabled>
<input type="submit" value="probando" />
</form>
</body>
</html>
En este caso puse un action de prueba cualquiera (muestra una alerta sencilla) y funciona bien.
Saludos