Ir para conteúdo

POWERED BY:

Arquivado

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

dinohills

[Resolvido] Condição para validar formulário

Recommended Posts

Olá, estou tentando validar um formulario usando javascript. Neste formulario eu tenho 3 checkbox com as name:

id

marcado

marcado

 

O que eu gostaria de fazer era obrigar o usuário a marcar pelo menos uma checkbox com o nome (marcado) e também não deixar que fique selecionado as duas checkbox (marcado).

Eu fiz o script pra validar, mas o que acontece é que ele so esta considerando a primeira checkbox (marcado) as demais ele não verifica.

 

Vou postar o exemplo aqui

 

<html><head>
        <title></title>
        <script language="JavaScript" type="text/javascript">
            function validar(){
                var opcao = document.teste.marcado;
                for(i=0; i < opcao.length; i++ ){
                    if(opcao[i].checked == false){
                        alert('selecione uma opção');
                        return false;
                    }else{
                        return true;
                    }
                }
            }            
        </script>
    </head>
    <body>
        <form name="teste" onsubmit="return validar();" action="#">
            ID
            <input type="checkbox" name="id" id="1"/>
            Opção 1
            <input type="checkbox" name="marcado" id="1"/>
            Opção 2
            <input type="checkbox" name="marcado" id="1"/>
            <br/><br/>
            ID
            <input type="checkbox" name="id" id="2"/>
            Opção 1
            <input type="checkbox" name="marcado" id="2"/>
            Opção 2
            <input type="checkbox" name="marcado" id="2"/>
            <br/><br/>
            ID
            <input type="checkbox" name="id" id="3"/>
            Opção 1
            <input type="checkbox" name="marcado" id="3"/>
            Opção 2
            <input type="checkbox" name="marcado" id="3"/>
            <br/><br/>
            <input type="submit" value="OK"/>
        </form>
    </body>
</html>

Parece que no "for" que eu uso no script para quando encontra uma ocorrência falsa e não continua verificando as outras checkbox.

Mas se você marca logo a primeira ele consegue validar sem problemas.

Bom se alguém caso alguém saiba o que estou fazendo de errado porfavor poste ai. VLW!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, consegui a ajuda com um pessoal de outro forum e vo postar aqui como que fico o código.

 

<html><head>
        <title></title>
        <script language="JavaScript" type="text/javascript">
            function validar(){
                var opcao = document.teste.marcado;
                var marcados = 0;
                for(i = 0; i < opcao.length; i++ ){
                    if(opcao[i].checked == true){
                        marcados++;
                    }
                }
                if(marcados==0){
                    alert('selecione uma opção');
                    return false;
                }else if(marcados>1){
                    alert('selecione apenas uma opção');
                    return false;
                }else if(marcados==1){
                    return true;
                }
            }            
        </script>
    </head>
    <body>
        <form name="teste" onsubmit="return validar();" action="#">
            ID
            <input type="checkbox" name="id" id="1"/>
            Opção 1
            <input type="checkbox" name="marcado" id="1"/>
            Opção 2
            <input type="checkbox" name="marcado" id="1"/>
            <br/><br/>
            ID
            <input type="checkbox" name="id" id="2"/>
            Opção 1
            <input type="checkbox" name="marcado" id="2"/>
            Opção 2
            <input type="checkbox" name="marcado" id="2"/>
            <br/><br/>
            ID
            <input type="checkbox" name="id" id="3"/>
            Opção 1
            <input type="checkbox" name="marcado" id="3"/>
            Opção 2
            <input type="checkbox" name="marcado" id="3"/>
            <br/><br/>
            <input type="submit" value="OK"/>
        </form>
    </body>
</html>
Obs: Peço para que algum moderador marque o tópico como (Resolvido), porque não está aparecendo a opção de editar.

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.