Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ro.fonseca

[Resolvido] Caixas dinamicas.

Recommended Posts

Oi!

È o seguinte, eu criei uma caixa dinamica onde o usuário ao escolher a opção sim ou não, faz com que uma outra caixa apareça, enfim, td acontece corretamente, mas o q tá me quebrando a cabeça é quando ao selecionar a opção 'sim', daee aparece a caixa, daee eu preencho e simplesmente eu nao consigo "enviar" os dados, já quando eu coloco 'sim', preencho, e depois coloco 'não' o formulário preenchido é enviado normalmente ao servidor(faço isso só pra teste mesmo, pq eu fiz uma validação pra q isso nao aconteça), enfim, alguem tem noção do erro que possa estar acontecendo(e q não é acusado tal erro no browser), q faz com q eu não consiga enviar tal formulário quando eu seleciono e preencho na opção "sim"???

 

tá aee os codigos no HTML:

 

<fieldset>

<label>Afastamento anterior(mesmo CID):</label>

<select name="aftAnterior" id="aftAnterior">

<option value="">Selecione a opção</option>

<option value="sim">Sim</option>

<option value="não">Não</option>

</select>

</fieldset>

<fieldset id="objetoPublicar">

<label>Período de licença:(dd/mm/aaaa)</label>

<input type="text" name="periododelicensa2" id="periododelicensa2" /> <span class="italico">a</span>

<input type="text" name="periododelicensa3" id="periododelicensa3" />

</fieldset>

<input type="button" id="enviar" value="Enviar" onclick="validarFormulario(this.form);" />

e agora no javascript(para mostrar a caixa dinamica):

 

$(document).ready(function(){

//var publciar = document.getElementById ("publicar");

var objetoPublicar = document.getElementById ("objetoPublicar");

objetoPublicar.style.display = "none";

$('#aftAnterior').change(function(){

var valor = $(this).val();

if ( valor == 'sim' ){

objetoPublicar.style.display = "block";

} else {

objetoPublicar.style.display = "none";

}

})

})

e agora o codigo de validação do javascript:

 

function validarFormulario(form){

var matricula = /^\d{7}$/;

var perLicenca = /^\d{2}\/\d{2}\/\d{4}$/;

var lotacao = /^\d{2}\.\d{3}\.\d{3}$/;

var cid = /^\w\d{2}\.\d$/;

var idade = /^\d{2}\/\d{2}\/\d{4}$/;

 

 

if(document.getElementById("matricula").value == "" || document.getElementById("sexo").value == "" || document.getElementById("idade").value == "" || document.getElementById("cargo").value == "" || document.getElementById("grat").value == "" || document.getElementById("tempodeservicoAno").value == "" || document.getElementById("tempodeservicoMes").value == "" || document.getElementById("lotacao").value == "" || document.getElementById("periododelicensa").value == "" || document.getElementById("periododelicensa1").value == "" || document.getElementById("cid").value == "" || document.getElementById("aftAnterior").value == "")

alert("Algum campo está vazio, selecione uma opção ou preencha o campo vazio.");

 

else if(isNaN(document.getElementById("matricula").value))

alert("A matrícula só deve ser preenchida com números.");

 

else if(!matricula.test(document.getElementById("matricula").value))

alert("A matrícula deve ser preenchida com 7 digitos.");

 

else if(!idade.test(document.getElementById("idade").value))

alert("Informe a data de nascimento no formato (dd/mm/aaaa).");

 

else if(isNaN(document.getElementById("tempodeservicoAno").value) || isNaN(document.getElementById("tempodeservicoMes").value) )

alert("O Tempo de Serviço, Ano e Mes, devem ser preenchidos somente com números.");

 

else if(!lotacao.test(document.getElementById("lotacao").value))

alert("Preencha a Lotação no formato(xx.xxx.xxx), somente com números.");

 

else if(!perLicenca.test(document.getElementById("periododelicensa").value) || !perLicenca.test(document.getElementById("periododelicensa1").value))

alert("O Período de Licença deve ser preenchido no formato(dd/mm/aaaa).");

 

else if(document.getElementById("aftAnterior").value == "sim"){

if(document.getElementById("periododelicensa2").value == "" || document.getElementById("periododelicensa3").value == "" )

alert("Ao confirmar que houve afastamento anterior, o segundo campo de período de licença devem ser preenchidos.");

else if(!perLicenca.test(document.getElementById("periododelicensa2").value) || !perLicenca.test(document.getElementById("periododelicensa3").value))

alert("O Período de Licença deve ser preenchido no formato(dd/mm/aaaa).");

}

else if(document.getElementById("aftAnterior").value == "não"){

if(document.getElementById("periododelicensa2").value != "" || document.getElementById("periododelicensa3").value != "" )

alert("Ao confirmar que não houve afastamento anterior, favor deixar em branco o segundo período de licença relativo a esse afastamento.");

}

 

else if(!cid.test(document.getElementById("cid").value))

alert("Preencha o cid no formato(xxx.x), onde o primeiro caractere deve ser uma letra e os demais números.");

 

 

else

form.submit();

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.