Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Capturar valores dos campos do formulario


Guest Francivaldo Magalhaes

Pergunta

Guest Francivaldo Magalhaes

Tenho um formulario contendo um campo que o usuario insere sua idade e logo após um select onde ele escolhe um nivel. Gostaria de saber se tem como capturar o valor do campo idade e caso ele escolha no select um nivel que não condiza com a idade jogue um alert na tela informando qual o nivel adequado para aquela idade.

Espero ter sido claro.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Guest Francivaldo

Aí vai o código:

Primeiro eu fiz uma função pra saber se o usuário digitou as informações:

<html>
<head><title></title>
<script language="JavaScript">
function validar(form) { 
if (inscricao.idade_anos.value=="") {
    alert('Por favor, informe quantos anos o(a) candidato(a) tem!');
    inscricao.idade_anos.focus();
    return false; } 
if (inscricao.idade_meses.value=="") {
    alert('Por favor, informe quantos meses o(a) candidato(a) tem!');
    inscricao.idade_meses.focus();
    return false; } 
if (inscricao.nivel.value=="") {
    alert('Qual O nível do(a) candidato(a)?');
    inscricao.nivel.focus();
    return false; }
}
</script>
</head>

<body>

<!-- Aqui o formulário em php:-->
<?
                echo "<form name='inscricao' method='post' action='inscrever.php'>";
echo "Informe a idade:<br>
        <input type='text' name='idade_anos'> anos e 
        <input type='text' name='idade_meses'> meses<br>
        Informe o nível: <input type='text' name='nivel'>
        <input type='submit' name='Submit' value='Enviar' onclick='return validar(this.form)''>
        </form>
        
?>
</body>
</html>

Gostaria que quando o usuário digitasse uma idade incompatível com o nível aparecesse um alert informando o nível correto para a idade:

Os níveis e as idades são as seguintes:

Nível 1: 1 ano e 7 meses até 2 anos e 6 meses

Nível 2: 2 anos e 7 meses até 3 anos e 6 meses

Nível 3: 3 anos e 7 meses até 4 anos e 6 meses.

Qualquer ajuda é válida, pelo menos uma idéia de como fazer.

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta fazer isso

<script type="text/javascript">
function validar(form) {
anos = inscricao.idade_anos.value
meses = inscricao.idade_meses.value
nivel = inscricao.nivel.value

if (inscricao.idade_anos.value=="") {
    alert('Por favor, informe quantos anos o(a) candidato(a) tem!');
    inscricao.idade_anos.focus();
    return false; } 
if (inscricao.idade_meses.value=="") {
    alert('Por favor, informe quantos meses o(a) candidato(a) tem!');
    inscricao.idade_meses.focus();
    return false; } 
if (inscricao.nivel.value=="") {
    alert('Qual O nível do(a) candidato(a)?');
    inscricao.nivel.focus();
    return false; }

if (nivel==1) {
if (anos==1 && meses<=7) {
valor = true
}
if (anos==2 && meses<=6) {
valor = true
}
}
elseif (nivel==2) {
if (anos==2 && meses>=7) {
valor = true
}
if (anos==3 && meses<=6) {
valor = true
}
}
elseif (nivel==3) {
if (anos==3 && meses>=7) {
valor = true
}
if (anos==4 && meses=<6) {
valor = true
}
}

if (valor==true) {
inscricao.submit()
}
else
alert("A opção selecionada é inválida")
return false
}
</script>

OBS.:

Fiz com pressa e não cheguei a testar

tem outras formas de fazer, mas a pressa atrapalha

se tiver algum erro com algumas chaves({}), sinais, etc. ai você corrige e posta porque se outra pessoa for olhar já ta certo

Editado por Jonathan Queiroz
Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Puxa amigo, muitíssimo obrigado. Fiz aqui alguns ajustes e "rodou" bacana. Segue abaixo o código ajustado:

<script type="text/javascript">
function validar(form) {
anos = inscricao.idade_anos.value
meses = inscricao.idade_meses.value
nivel = inscricao.nivel.value
var valor
var idadetotal
idadetotal = anos+meses

if (nivel==1 && idadetotal>=17 && idadetotal<=26) {
    valor = true;
}
if (nivel==2 && idadetotal>=27 && idadetotal<=36) {
    valor = true
}
if (nivel==3 && idadetotal>=37 && idadetotal<=46) {
    valor = true
}

if (valor==true) {
inscricao.submit();
return false;
}
else {
alert("O nível selecionado é incompatível com a idade.")
inscricao.nivel.focus();
return false;
}
}

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, só encontrei um erro aí:

Foi na seguinte linha

idadetotal = anos+meses
O certo seria:
idatetotal = anos*12+meses

Acredito que você já deve ter concertado isso, pois você disse que testou e funcionou corretamente

Estou postando somente para que se algum membro tentar usar o código não encontre erros

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...