Function Desativação/Ativação de Campo de Formulário

Estou fazendo um formulário de solicitação de contratação em que preciso ativar um campo dependendo do valor informado pelo usuário no campo select anterior, porém não estou conseguindo e ainda não tenho tanta familiaridade com funções e manipulação de formulários.

Se o usuário escolher no select a opção “Nova” o campo input text “Colaborador substituído” fica desativado, se ele selecionar a opção “Substituição” o campo fica habilitado para ele digitar a informação.

Função:

function habilita(value){

var tipodevaga = document.getElementById("tipoVaga");

if (tipodevaga.value  == "01"){
document.colaborador.getElementById("subst").disabled = true; //Desabilitado
} else if(tipodevaga.value == "02") {
document.colaborador.getElementById("subst").disabled = false; //Desabilitado
};

}

Select tipoVaga

Tipo de vaga Nova Substituição

Input text colaborador:

Colaborador substituído

O input precisa ser habilitado no change do combo ok?

<select id="tipoVaga" onchange="habilita(this.value);">

Na função fica assim:

function habilita(valorCombo) {
    var campoTexto = document.getElementById("subst");

    if (valorCombo  == "01"){
        campoTexto.disabled = true; //Desabilitado
    } else if(valorCombo == "02") {
        campoTexto.disabled = false; //Habilitado
    }
} // fim habilita

Perceba no parâmetro que você não estava usando (value que mudei para valorCombo), ele é automaticamente passado com o valor do option escolhido na troca (change), assim a função sempre pega o valor atualizado e você nem precisa pegar o combo pelo id dentro da função…

1 curtida

Perfeito, deu certo aqui, obrigado!!!

1 curtida