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

(Resolvido) Função Não quer validar no Fire Fox


jgd

Pergunta

Olá Pessoal,

Gostaria de uma ajuda para fazer função javascript funcionar no I.E. e no FireFox. No I.E roda certinho... Mais no Fire Fox não.

Como manjo pouco do JavaScript.. Peço ajuda.

Trata-se de uma função genérica que percorre todos os campos indicados e aí saio testando.

Nos campos do form uso a tag “alt” como referência para selecionar os campos que quero validar

Chamo a função assim:

<form name="form2" method="post" action="paginaXis.asp" onSubmit='return form_simples(this)'>

Então lá no arquivo JS faço percorre todos campos com alt=”yes” e vou validando conforme os atributos de cada campo.

O problema é que no Fire Fox..., ela não pega campos select.... tipo assim:

if(ele.elements[i].name=="grupo"){
            var sel = ele.elements[i].selectedIndex
            if (sel=="0"){
            erro = erro + "Informe o grupo de cadastro.\n"
               }
            }
Segue função completa.
function form_simples(ele){
    var teste1;
    var teste2;
    var uf;

    var checado;
    var dataC;
    var dataD;
    var dataF;
    var dia;
    var mes;
    var ano;
    numero = ele.elements.length
    erro = "";
    for(i=0; i<numero; i++){
        if(ele.elements[i].alt == "yes"){

          if(ele.elements[i].name == "cep"){
            nro = ele.elements[i].value
            nro1 = nro.length
            //alert(nro);
              if (nro.length < 9 ) {
                    erro = erro + "Campo cep. deve ter 9 caracteres. \n"
                 }
              }

            /////////////////////////////////////////////////////////////////
            if(ele.elements[i].name == "busca"){
            nro = ele.elements[i].value
            nro1 = nro.length
              if (nro.length < 3 ) {
                    erro = erro + "Informe no mínimo 03 caracteres. \n"
                 }
              }

            /////////////////////////////////////////////////////////////////
               if(ele.elements[i].name == "uf"){
             uf = ele.elements[i].value.toUpperCase();
             //alert(uf);
              if (uf == "AC" || uf == "AL" || uf == "AM" || uf == "AP" || uf == "BA" || uf == "CE" || uf == "DF" || uf == "ES" || uf == "GO" || uf == "MA" || uf == "MG" || uf ==  "MS" || uf == "MT" || uf == "PA" || uf ==  "PB" || uf == "PE" || uf == "PI" || uf == "PR" || uf == "RJ" || uf == "RN" || uf == "RO" || uf == "RR" || uf == "RS" || uf == "SC" || uf == "SE" || uf == "SP" || uf == "TO"){

              } else{
                  erro = erro + "Uf inválida.\n"
               }
             }
            /////////////////////////////////////////////////////////////////
               if(ele.elements[i].name == "nada"){
             nro = ele.elements[i].value
              if (nro == "N") {
                    erro = erro + "Não há elementos para gravação.\n"
              }
             }
            /////////////////////////////////////////////////////////////////

           if(ele.elements[i].name=="sexo" && ele.elements[i].id=="1"){
             var nro = ele.elements[i].checked;
             //alert(nro)
             }
                if(ele.elements[i].name=="sexo" && ele.elements[i].id=="2"){
             var nro1 = ele.elements[i].checked;

             if (nro==false && nro1==false){
              erro = erro + "Informe o sexo.\n"
              }
             }
            /////////////////////////////////////////////////////////////////

           if(ele.elements[i].name=="pessoa" && ele.elements[i].id=="1"){
             var nro = ele.elements[i].checked;
             //alert(nro)
             }
                if(ele.elements[i].name=="pessoa" && ele.elements[i].id=="2"){
             var nro1 = ele.elements[i].checked;

             if (nro==false && nro1==false){
              erro = erro + "Informe o Tipo de Pessoa.\n"
              }
             }
            /////////////////////////////////////////////////////////////////

              /////////////////////////////////////////////////////////////////
           if(ele.elements[i].name=="subGrupo" && ele.elements[i].id=="1"){
             var nro = ele.elements[i].checked;
             //alert(nro)
             }
                if(ele.elements[i].name=="subGrupo" && ele.elements[i].id=="2"){
             var nro1 = ele.elements[i].checked;

             if (nro==false && nro1==false){
              erro = erro + "Informe o  SUB GRUPO.\n"
              }
             }
            /////////////////////////////////////////////////////////////////

            if(ele.elements[i].name=="grupo"){
            var sel = ele.elements[i].selectedIndex
            if (sel=="0"){
            erro = erro + "Informe o grupo de cadastro.\n"
               }
            }
            
            
            if(ele.elements[i].name=="idCad"){
            var sel = ele.elements[i].selectedIndex
            if (sel=="0"){
            erro = erro + "Informe a conta.\n"
               }
            }
            if(ele.elements[i].name=="nome_da_lista"){
            var sel = ele.elements[i].selectedIndex
            if (sel=="0"){
            erro = erro + "Informe a listagem a ser executada.\n"
               }
            }
               if(ele.elements[i].name == "email" || ele.elements[i].name == "e-mail" || ele.elements[i].name == "mail"){
                if(ele.elements[i].value.indexOf('@')==-1 || ele.elements[i].value.indexOf('.')==-1){
                erro = erro + "Preencha o campo "+ ele.elements[i].name.toLowerCase() +" corretamente. \n"
                }
            }else{
                if(ele.elements[i].value==""){
                erro = erro + "Preencha o campo "+ ele.elements[i].name.toLowerCase() +". \n"
                }
            }
        }



        if(ele.elements[i].name == "telefone"){
            nro = ele.elements[i].value
            nro1 = nro.length
              if (nro.length < 13 ) {
                    erro = erro + "Campo TELEFONE deve ter 13 caracteres. \n"
                 }
              }
              
              
              
        if(ele.elements[i].title == "yes"){

        if(ele.elements[i].name == "texto"){

        String = ele.elements[i].value
        //alert(String)
        Resultado = String

        //Retira os espaços do inicio
        //Enquanto o primeiro caracter for igual à "Espaço"
        //1 caracter do inicio é removido

         var w
         w = 0
         //alert(Resultado)
         if (Resultado.charCodeAt(2-1) == '32'){
         }

         while (Resultado.charCodeAt(0) == '32'){
         Resultado = String.substring(w,String.length);
         w++;}

         //Pega a string já formatada e agora retira os espaços do final
         //mesmo esquema, enquanto o ultimo caracter for um espaço,
         //ele retira 1 caracter do final...

         while(Resultado.charCodeAt(Resultado.length-1) == "32"){
         Resultado = Resultado.substring(0,Resultado.length-1);
         }

         ele.elements[i].value = Resultado

         String = ""

        }
        /////////////////////////////////////////////////////////////////////////////

            if(ele.elements[i].value==""){
            erro = erro + "Preencha o campo "+ ele.elements[i].name.toLowerCase() +". \n"
            }
        }
    }

    if(erro != ""){
        alert("Erros:\n"+erro);
        return false;
    }else{

        return true;

    }
}
Agradeço qualquer ajuda. JGD :blink: Olá pessoa, pesquisei um pouco e achei um código do amigo fercosmig... Dei uma adaptada e tá rolando legal agora. Segue código:
function validacampos(){
    var campo = document.forms[0];
    var i=0;
    var erro ="";
    //var nro1 ="";
    //var nro2 ="";
    
    for (i=0; i< campo.elements.length; i++){
     var nomecampo = campo.elements[i].name;
      if (nomecampo.substring(5,0) == 'obrig'){
      
           //alert(nomecampo);
      
           var valida = campo.elements[i].value;
           
            if (valida == ''){
               erro = erro + "Preencha o campo "+ campo.elements[i].title +" corretamente. \n"
           }

           if (nomecampo == "obrigTipoArt"){
           var sel = campo.elements[i].selectedIndex
           var arqP = document.form2.arquivo.value;
           var arqV = document.form2.link.value;

           if (sel=="2" && arqP=="" ){
           erro = erro + "Informe o Arquivo PPT.\n"
               }
           if (sel=="3" && arqV=="" ){
           erro = erro + "Informe o Link de Video(YouTube).\n"
              }

           }

           if (nomecampo == "obrigCheca" && campo.elements[i].id=="1"){
           var nro1 = campo.elements[i].checked;
           }
           if(nomecampo == "obrigCheca" && campo.elements[i].id=="2"){
           var nro2 = campo.elements[i].checked;
           
           if (nro1==false && nro2==false){
           erro = erro + "Informe sobre a opção.\n"
            }
           }     
           if (nomecampo == "obrigEmail"){
           if(campo.elements[i].value.indexOf('@')==-1 || campo.elements[i].value.indexOf('.')==-1){
                erro = erro + "Preencha o campo Email corretamente. \n"
             }
           }
           

      }
   }

    if(erro != ""){
        alert("Erros:\n"+erro);
        return false;
    }else{

        return true;

    }


}
//-->

Value

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,3k
    • Posts
      652,6k
×
×
  • Criar Novo...