Select ser obrigatório selecionar um valor diferente
30/11/2020
0
Eu tenho quatro input type="time" na minha página e a frente deles um select. Por padrão meu select vem disabled. Eu fiz um script que habilita meu select somente se pelo menos um dos quatro input type="time" for preenchido. O primeiro item do meu select é "JUSTIFICAR MARCAÇÃO" e os demais itens são carregados com itens de uma tabela do meu banco de dados.
O que eu gostaria é o seguinte, existe a possibilidade de, se pelo menos um dos quatro input type="time" estiver preenchido, ao habilitar o select, ser obrigatório selecionar um valor neste select diferente do primeiro valor, ou seja, um valor diferente do "JUSTIFICAR MARCAÇÃO".
Existe essa possibilidade?
Segue abaixo um código de exemplo com os quatros <input type="time"> e o select:
E agora, segue meu javascript que habilita o campo select caso pelo menos um dos quatro <input type="time"> esteja preenchido:
O que eu gostaria é o seguinte, existe a possibilidade de, se pelo menos um dos quatro input type="time" estiver preenchido, ao habilitar o select, ser obrigatório selecionar um valor neste select diferente do primeiro valor, ou seja, um valor diferente do "JUSTIFICAR MARCAÇÃO".
Existe essa possibilidade?
Segue abaixo um código de exemplo com os quatros <input type="time"> e o select:
<input type="time" id="hora001" name="hora001" onchange="HabilitaSelectJust()"> <br> <input type="time" id="hora002" name="hora002" onchange="HabilitaSelectJust()"> <br> <input type="time" id="hora003" name="hora003" onchange="HabilitaSelectJust()"> <br> <input type="time" id="hora004" name="hora004" onchange="HabilitaSelectJust()"> <br> <br> <select name="justificativa0" id="justificativa0" disabled> <option>JUSTIFICAR MARCAÇÃO</option> <option value="11">Abonado </option> <option value="65">Admissao </option> <option value="21">Atestado </option> <option value="6">Compensação </option> <option value="13">Crachá com Defeito </option> <option value="57">Escola </option> <option value="8">Esqueceu Cartão/Crachá </option> <option value="61">Esqueceu de Registrar Ponto </option> <option value="75">Falta de Energia Eletrica </option> <option value="81">Home Office </option> </select>
E agora, segue meu javascript que habilita o campo select caso pelo menos um dos quatro <input type="time"> esteja preenchido:
<script> function HabilitaSelectJust() { if(document.getElementById("hora001").value == "" && document.getElementById("hora002").value == "" && document.getElementById("hora003").value == "" && document.getElementById("hora004").value == "") { document.getElementById("justificativa0").setAttribute("disabled","disabled"); } else { document.getElementById("justificativa0").removeAttribute("disabled"); } } </script>
Carlos Massam
Curtir tópico
+ 0
Responder
Post mais votado
30/11/2020
Olá, amigo. Tudo bem?
Quando você for dar "POST" desta página, na página que recebe o envio coloque:
Também pode colocar uma função javascript que verifique, ao efetuar o post, se tem valor no justificativa:
O que estou te passando, é somente um esboço, cabe a você adaptar este código para o seu cenário.
Espero ter ajudado. :D
Quando você for dar "POST" desta página, na página que recebe o envio coloque:
if($_POST["justificativa0"] == empty){ ///aqui coloque o que acontece. }
Também pode colocar uma função javascript que verifique, ao efetuar o post, se tem valor no justificativa:
function verificaValor(){ if(document.getElementById("justificativa0").value =="'){ alert("campo não pode ser vazio"); } }
O que estou te passando, é somente um esboço, cabe a você adaptar este código para o seu cenário.
Espero ter ajudado. :D
Alex William
Responder
Mais Posts
30/11/2020
Carlos Massam
Alex William, deu certo com o Alert. Muito obrigado.
Só tive um probleminha que mesmo dando o alert a página dava um submit ao clicar no OK do alert, daí eu coloquei na function, após o alert um "return false;" e em vez de chamar a function no evento onsubmit do Form eu chamei no evento onclick do button submit.
Meu botão ficou assim:
Só tive um probleminha que mesmo dando o alert a página dava um submit ao clicar no OK do alert, daí eu coloquei na function, após o alert um "return false;" e em vez de chamar a function no evento onsubmit do Form eu chamei no evento onclick do button submit.
Meu botão ficou assim:
<button type="submit" name="btnEnviar" class="btn btn-primary" disabled onclick="return AlertJust()"> Inserir Marcações</button>
Responder
Clique aqui para fazer login e interagir na Comunidade :)