Prueba:
Código HTML:
Ver originalfunction costo(){
if(document.getElementById("costo").disabled){ // si esta deshabilitado
document.getElementById("costo").disabled = false; // habilitar
}else{
document.getElementById("costo").disabled = true; // deshabilitar
}
}
<input name="costo" type="text" disabled id="costo" size="3" /><input type="checkbox" name="factura" checked onChange="costo()">
Notas:
1) El protocolo
javascript:
solamente se añade en el atributo href de los enlaces para ejecutar JS, nunca en atributos onclick, onfocus etc.
2) Te recomiendo dejar de usar document.forms y usar siempre document.getElementById, que es la forma más clara de obtener elementos HTML. Así no te confundirás nunca.
Edit:
Siguiendo la lógica de tu código sería más bien así:
Código HTML:
Ver originalfunction costo(){
if(document.getElementById("micheck").checked){ // si esta marcado
document.getElementById("costo").disabled = true; // deshabilitar
}else{
document.getElementById("costo").disabled = false; // habilitar
}
}
<input name="costo" type="text" disabled id="costo" size="3" /><input type="checkbox" id="micheck" name="factura" checked onChange="costo()">
Pero ambas formas son válidas.