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

[resolvido] Verificao De Formulario?


babaloricha

Pergunta

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
// JavaScript Document
// funcao utilitaria  que retorna trrue se um strting contiver só caracteres dee spaco em branco
function isblank(s){
    for (var i = 0;i < s.length; i++){
        var c = s.charAt(i);
        if ((c!=' ') && (c!= '\n') && (c!= '')) return false;
    }
    return false;
}

//Essa é a  função que realliza a verificação deo formulario. É invocada
//a partir do tratador ded evento  on submit . O tratador deve retornar  qualquer valor que
// essa função retornar.

function verify(f){
    var msg;
    var empty_fields = "";
    var errors = "";
    // "varre" os elementos do formulario , procurando todos os elementos Text e Textarea
    //que não  tiveram uma propriendade "opcional" dedefinida.
    //Depois  verifica os campos que estão vazios e faz uma lista deles. Alem disso,
    //se qualquer um desses elementos tiver uma propriendade "min" ou "max" deefinida,
    //verifica se os numeros estão no intervalo certo. Se o elemento tiver
    //uma propriedadede "numérica" definida , verifica se é um numero, mas não
    // seu intervalo.Coleta as  mensagens de erro  para os campos que estao errados.
    for(var i=0;i<f.length; i++){
        var e = f.elements[i];
        if (((e.type == "text")||(e.type="textarea")) && !e.optional){
            //Primeiro verifica se o campo esta vazio
            if((e.value == null) || ( e.value =="") || isblank(e.value)){
                empty_fields += "\n" + e.name;
                continue;
            }
            // Agora verifica  os campos  que devem  ser numéricos
            if(e.numeric || (e.min!= null)||(e.max!= null)){
                var v = parseFloat(e.value);
                if(isNaN(v)||((e.min!=null)&&(v < e.min))||((e.max!= null)&&(v>max))){
                    erros += "- O campo " + e.name + " deve ser um numero";
                    if(e.min!=null)
                        errors += "é maior do que " + e.min;
                    if(e.max!=null)
                        errors += " e menor que " + e.max;
                    else if(e.max1=null)
                        errors += " deve ser menor que " + e.max;
                    errors += ".\n";
                }
            }
        }
    }
    // se houver erro , exibe as mensagens , e Retorna  false  para impedir  que o formulario seja  enviado.
    //Caso contrario , retorna true.
    if(!empty_fields && !errors) return true;
    msg = "___________________________________________________________________ _ \n\n"
    msg += "O formulario não foi enviado porque ocorreram os seguites erros.\n";
    msg += "por favor  corrija esses erros e re-envie.\n";
    msg += "___________________________________________________________________ _ \n\n"
    if (empty_fields){
        msg += " - Os capos seguintes estão vazios:" + empty_fields + "\n";
        if( errors) msg += "\n";
    }
    msg += errors;
    alert(msg);
    return false;
}

</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form onsubmit="return verify(this);">
nome: <input type="text" name="nome" /><br />
sobrenome: <input type="text" name="sobrenome" /><br />
Endereço:<br /><textarea name="endereco" rows="4" cols="40"></textarea><br />
CEP: <input type="text" name="zip" /><br />
Telefone: <input type="text" name="telefone" /><br />
<input type="submit" />
</form>
</body>
</html>

e o pior erros não são exibidos!!!!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...