none
problema de validação com javascript RRS feed

  • Pergunta

  • Bom dia, estou com o seguinte problema

    tenho um formulário. com alguns campos estou tentando fazer uma função que trata os dois <select>,

    o categoria e localização, porem quando o formulário é carregado com a primeira opção   <option value="-----">-----</option>

    fiz um exemplo simplificado 

    só que não sei onde estou errando

    quando faco tratando o campo nome da certo.

    Se alguém poder me ajudar. 

                      

    <!DOCTYPE html>
    <html lang="pt-br">

    <head>
        <title> Validando os Campos com JavaScript</title>
        <meta charset="UTF-8">

        <script language="javascript" type="text/javascript">
         function validar() {
         var locali = end.option.value;

        if (locali == "-----") {
             alert('Escolha uma Categoria');
             form1.end.focus();
             return false;
            }
        }
        </script>
    </head>

    <body>

         <form name ="form1" action="enviar.asp" method="post">
            Nome:
            <input nome = "nome" type="text">

            Localizacao:
            <select name="end" id=""> 
                 <option value="-----">-----</option>
                 <option value="rua">Rua</option>
                 <option value="avenida">Avenida</option>
                 </select>        
                <br><br>
               <input type="submit" onclick="return validar()" >
          </form>
    </body>

    </html>

    terça-feira, 23 de agosto de 2016 14:23

Todas as Respostas

  • Amigo,

    O seu código possui um pequeno erro, veja:

    var locali = end.option.value;

    Troque para:

    var locali = form1.end.value;

    Você precisa indicar o formulário e o campo, e depois você chama o "value" não o "option".

    Aconselho procurar alguns artigos de javascript para iniciantes, isso vai te ajudar bastante.

    Espero ter ajudado e boa sorte!


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    terça-feira, 23 de agosto de 2016 14:44
  • Você só quer validar se o select está preenchido com algo diferente de '-----'? Ou algo a mais? Recomendo usar Jquery para essas coisas okay?
    terça-feira, 23 de agosto de 2016 14:45
  • Você só quer validar se o select está preenchido com algo diferente de '-----'? Ou algo a mais? Recomendo usar Jquery para essas coisas okay?
        Bom, seria somente a validação do select.  
    terça-feira, 23 de agosto de 2016 15:08
  • Amigo,

    O seu código possui um pequeno erro, veja:

    var locali = end.option.value;

    Troque para:

    var locali = form1.end.value;

    Você precisa indicar o formulário e o campo, e depois você chama o "value" não o "option".

    Aconselho procurar alguns artigos de javascript para iniciantes, isso vai te ajudar bastante.

    Espero ter ajudado e boa sorte!


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    Bom no artigo eu encontrei como tratar o <Input>. o campo nome é um exemplo. 

    <html>

    <head>
        <title>Validando Formulários com Javascript</title>

     <script language="javascript" type="text/javascript">
    function validar() {
        var nome = form1.nome.value; 
         var locali= form1.end.value;

         if (nome == "") 
         { alert('Preencha o campo com seu nome');
          form1.nome.focus();
          return false; 
        } 

        else if(locali=="-----"){
            alert("escolha uma opcao");
            form1.end.focus();
            return false;
        }



    }

    </script>
    </head>

    <body>
        <form name="form1" action="enviar.php" method="post">
            Nome:
            <input name="nome" type="text">Localizacao
            <select name="end" id=""> 
                <option value="-----">-----</option>
                <option value="rua">Rua</option>
                <option value="avenida">Avenida</option>
            </select>
            <input type="submit" onclick="return validar()">
        </form>
    </body>

    </html>

    terça-feira, 23 de agosto de 2016 15:11
  • Consegui resolver.

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>

        <script>
            function VCampo() {
                var x, text;

                //PEGA O VALOR DO SELECT id="numb"
                x = document.getElementById("localidade").value;

                if (x === "-----") {

                    alert("O Campo Categoria tem que ser preenchido");
                    form1.nome.focus();
                    return false;
                }


            }
        </script>

    </head>
    <body>

        <form name="form1" action="enviar.php" method="post">
            Category
            <select name="nome" id="localidade">
                <option value="-----">------</option>
                <option value="rua">Rua</option>
                <option value="avenida">Avenida</option>

            </select>
            <button type="button" onclick="VCampo()">confirmar</button>



        </form>





    </body>
    </html>

    • Sugerido como Resposta Brayann Luiz quarta-feira, 24 de agosto de 2016 01:03
    terça-feira, 23 de agosto de 2016 19:41