Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Queria saber como faço pra habilitar/desabilitar um campo de texto dependendo da minha seleção do combobox.
OBS: Eu fiz com um radiobutton e funciona de boa no "onClick". O código dele tá ai:
<input type="radio" name="q1" value="Não" onclick="if(document.getElementById('qual').disabled==false && document.getElementById('tempo').disabled==false){
document.getElementById('qual').disabled=true
document.getElementById('tempo').disabled=true
}" />
* Não</td>*
* </tr>*
* <tr>*
* <td><input type="radio" name="q1" value="Sim" onclick="if(document.getElementById('qual').disabled==true && document.getElementById('tempo').disabled==true){*A questão é que quando eu vou pro combobox, não sei consigo colocar pra o "onChange" funcionar direito:
<select name="tipo_consulta" required="true">
<option onchange="if(document.getElementById('valor').disabled==false && document.getElementById('desconto').disabled==false){
document.getElementById('valor').disabled=true
document.getElementById('desconto').disabled=true
}">Consulta</option>
<option onchange="if(document.getElementById('valor').disabled==true && document.getElementById('desconto').disabled==true){
document.getElementById('valor').disabled=false
document.getElementById('desconto').disabled=false
}">Retorno</option>
</select>
"valor" e "descontos" são os campos que eu quero que habilite/desabilite
Dessa forma que tá aí, ele não altera o estado dos campos.
Se eu colocar assim:
<select onchange="if(document.getElementById('valor').disabled==false && document.getElementById('desconto').disabled==false){
document.getElementById('valor').disabled=true
document.getElementById('desconto').disabled=true
}" name="tipo_consulta" required="true">
<option >Consulta</option>
<option onchange="if(document.getElementById('valor').disabled==true && document.getElementById('desconto').disabled==true){
document.getElementById('valor').disabled=false
document.getElementById('desconto').disabled=false
}">Retorno</option>
</select>
Ele desabilita, mas não habilita de novo quando mudo a opção.
>
Bom dia marcos, crie uma função para fazer isso amigo. veja um exemplo:
<body>
<form>
<select id="meuselect">
<option value="0">Selecione</option>
<option value="1">Opção 1</option>
<option value="2">Opção 2</option>
</select>
</form>
</body>
<script>
window.onload = function(){
var selectBox = document.getElementById("meuselect");
//abaixo crio um evento com javascript para quando haver mudança
selectBox.addEventListener("change", function(){
//sua função aqui...
});
}
</script>
Conforme script acima, eu criei um ID no meu select para pegar o elemento que eu quero manipular no javascript, e com base nesse elemento criar um evento "change", que é a mesma coisa que o onChange. não se usa evento no option apenas no select caso seja necessário, tenta essa solução
Eu criei a função com os códigos que postei ai em cima. A solução tava na função pois ela consegue manipular os options pelo select. Obrigado amigo.Olá Marcos, se a função que eu coloquei resolveu seu problema, nada mais justo do que marcar a minha resposta como solução.
Bom dia marcos, crie uma função para fazer isso amigo. veja um exemplo: