Dúvida de javascript

1 resposta
C

Bom dia a todos,

Tenho uma dúvida que já venho tentando decifrar há dias, sem sucesso, e gostaria de pedir, se possível, que alguém me dissesse qual é o problema.

O meu código:

index.html

<html>
    <head>
        <script language="javascript" type="text/javascript">
            function validar()
            {
                if(window.document.forms.principal.aposta.value==="")
                {
                    alert("A quantidade de apostas nao pode estar vazio!!!");
                    return false;
                }
                //
                if(window.document.forms.principal.numero.value==="")
                {
                    alert("A quantidade de numeros nao pode estar vazio!!!");
                    return false;
                }
                //
                if(window.document.forms.principal.estrela.value==="")
                {
                    alert("A quantidade de estrelas nao pode estar vazio!!!");
                    return false;
                }                
            }
            function VerComp(obj)
            {
                if (isNaN(obj.aposta.value))
                {
                    alert('Voce nao digitou um numero em quantidade de jogos!!!');
                    obj.aposta.value="";
                }
                if (isNaN(obj.numero.value))
                {
                    alert('Voce nao digitou um numero em quantidade de numeros!!!');
                    obj.numero.value="";
                }
                if (isNaN(obj.estrela.value))
                {
                    alert('Voce nao digitou um numero em quantidade de estrelas!!!');
                    obj.estrela.value="";
                }
                return false;                   
            }
            function LimitesNum(obj)
            {
                if (obj.numero.value<5 
                        || obj.numero.value>11)
                { 
                    alert('A quantidade de numeros tem que estar entre 5 e 11!!!');
                    obj.numero.value="";
                    document.getElementById('nu').focus();
                }
                return false; 
            }
            function LimitesEst(obj)
            {
                var rec = document.getElementById("nu").value;
                var rec2 = document.getElementById("es").value;
                if (rec==5 && (rec2<2 ||rec2>11))
                { 
                    alert('A quantidade de estrelas tem que estar entre 2 e 11!!!');
                    obj.estrela.value="";
                    document.getElementById('es').focus();
                    return false; 
                }
                else
                if (rec==6 && (rec2<2 || rec2>11))
                { 
                    alert('A quantidade de estrelas tem que estar entre 2 e 11!!!');
                    obj.estrela.value="";
                    document.getElementById('es').focus();
                    return false; 
                }
                else
                if (rec==7 && (rec2<2 || rec2>9))
                { 
                    alert('A quantidade de estrelas tem que estar entre 2 e 9!!!');
                    obj.estrela.value="";
                    document.getElementById('es').focus();
                    return false;
                }
                else
                if (rec==8 && (rec2<2 || rec2>5))
                { 
                     alert('A quantidade de estrelas tem que estar entre 2 e 5!!!');
                     obj.estrela.value="";
                     document.getElementById('es').focus();
                     return false;
                }
                else 
                if (rec==9 && (rec2<2  || rec2>4))
                { 
                     alert('A quantidade de estrelas tem que estar entre 2 e 4!!!');
                     obj.estrela.value="";
                     document.getElementById('es').focus();
                     return false; 
                }
                else
                if (rec==10 && (rec2<2 || rec2>3))
                { 
                    alert('A quantidade de estrelas tem que estar entre 2 e 3!!!');
                    obj.estrela.value="";
                    document.getElementById('es').focus();
                    return false;
                }
                else  
                if (rec==11 && rec2!==2)
                { 
                    alert('A quantidade de estrela so pode ser 2!!!');
                    obj.estrela.value="";
                    document.getElementById('es').focus();
                    return false; 
                }
                return false;
            }
        </script>
    </head>
    <body>
        <form name="principal" action="meuServlet" method="post">
             <table align="center" border=1  width=400 height=25>
                <tr height=25 class=meuEstilo1>  
                <td align=center><b> 
                    <h2><font face="Arial"> Euromilhoes </font></h2>
                    <h4><font face="Arial">
                        Quantidade de jogos: 
                        <input type="text" name="aposta" size="1" 
                               onchange="return VerComp(this.form);">
                        </input>
                    </font></h4>
                    <!--Quantidade de numeros-->
                    <h4><font face="Arial">
                        Quantidade de numeros: 
                        <input type="text" name="numero" size="1" id="nu"
                               onchange="return VerComp(this.form);"
                               onblur="return LimitesNum(this.form);">
                        </input>
                    </font></h4>
                    <!--Quantidade de estrelas-->
                    <h4><font face="Arial">
                        Quantidade de estrelas: 
                        <input type="text" name="estrela" size="1" id="es"
                                onchange="return VerComp(this.form);"
                                onblur="return LimitesEst(this.form);">
                    </input>
                    </font></h4>
                    <input type="submit" value="Enviar" onclick="return validar();"></input>
                </b></td></tr>            
             </table>
        </form>
    </body>
</html>

Ele possui as seguintes funções de javascript:

1) validar() --> Avisa, caso o campo de apostas esteja vazio;

2) VerComp(obj) --> Avisa, caso seja colocado um carácter que não seja numérico;

3) LimitesNum(obj) --> Avisa, caso a quantidade de números não seja 5 <= x <= 11;

4) LimitesEst(obj) --> infelizmente, só está funcionando para o primeiro "if". A partir do segundo, falha e eu não entendo qual a razão! :(

Por favor, alguém poderia me dizer qual é o problema?

Agradeço antecipadamente,

1 Resposta

drsmachado

Como assim, falha?
Acabei de testar e está passando todos.

Criado 18 de junho de 2013
Ultima resposta 18 de jun. de 2013
Respostas 1
Participantes 2