Ir para conteúdo

POWERED BY:

Arquivado

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

Reason XP

Validacao

Recommended Posts

galera alguem poderia me dar uma ajudinha ai... estou tentando adaptar o verifica_extencao(); no formulario, para fazer a validacao do (Input type file), acho q estou fazendo algo errado no formulario...

 

<script>function verifica_extencao(){var extensoesOk = ",.gif,.jpg,.txt,.doc,.exe,.xls,.bat,.ppt,.zip,.rar,.iso,.ini,.dll";var extensao = "," + document.form1.arquivo.value.substr( document.form1.arquivo.value.length - 4 ).toLowerCase() + ",";if (document.form1.arquivo.value == ""){alert("O campo do caminho está vazio!!");return false;}else if( extensoesOk.indexOf( extensao.toLowerCase() ) == -1 ){alert( document.form1.arquivo.value + "\nNão possui uma extensão válida" );java script:location.reload();return false;}else{java script:tamanhos();}}function tamanhos(){tamanhoArqMax = 400000imagem=new Image();imagem.src=document.form1.arquivo.value;tamanho_imagem = imagem.fileSizeimg_tan = tamanho_imagemif (tamanho_imagem < 0){java script:tamanhos();return false;}else if (tamanho_imagem > tamanhoArqMax){alert("O tamanho do arquivo é muito grande ... "+tamanho_imagem+" Bytes!! \n Tamanho Máximo suportado : "+tamanhoArqMax+" Bytes \n São "+(tamanho_imagem-tamanhoArqMax)+" Bytes a Mais!");java script:location.reload();return false;}else{ return true; }}</script><form method="post" action="pagina.asp" onsubmit="verifica_extencao();"><input type="file" name="foto"><input type="submit" name="sub" value="OK"></form>
Agradesco desde ja!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O name que você está usando na função é diferente do que o campo file tem, na função é "arquivo" e na tag é "foto", seu form está sem name ou id, troque isso, mais uma coisa:

 

troque isso:

 

document.name_do_form.name_do_arquivo.value;

por:

 

document.getElementById("id_do_arquivo").value;

mais uma dica, não precisa fazer isso:

 

javascript:tamanhos();

faça assim:

 

tamanhos();

altere o que eu falei e teste, ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Tiago Cardoso! Primeiramente kero agradescer pela sua atencao!!

 

cara, fi o q você mandou fazer, mas n tive sucesso!! :(

 

veja se estiver errdo porfavor me corrige!!!

 

 

<script>function verifica_extencao(){var extensoesOk = ",.gif,.jpg,.txt,.doc,.exe,.xls,.bat,.ppt,.zip,.rar,.iso,.ini,.dll";var extensao = "," + document.getElementById("arquivo").value.substr( document.form1.arquivo.value.length - 4 ).toLowerCase() + ",";if (document.form1.arquivo.value == ""){alert("O campo do caminho está vazio!!");return false;}else if( extensoesOk.indexOf( extensao.toLowerCase() ) == -1 ){alert( document.form1.arquivo.value + "\nNão possui uma extensão válida" );java script:location.reload();return false;}else{java script:tamanhos();}}function tamanhos(){tamanhoArqMax = 400000imagem=new Image();imagem.src=document.form1.arquivo.value;tamanho_imagem = imagem.fileSizeimg_tan = tamanho_imagemif (tamanho_imagem < 0){java script:tamanhos();return false;}else if (tamanho_imagem > tamanhoArqMax){alert("O tamanho do arquivo é muito grande ... "+tamanho_imagem+" Bytes!! \n Tamanho Máximo suportado : "+tamanhoArqMax+" Bytes \n São "+(tamanho_imagem-tamanhoArqMax)+" Bytes a Mais!");java script:location.reload();return false;}else{ return true; }}</script><form method="post" action="pagina.asp" name="form1" onsubmit="verifica_extencao();"><input type="file" name="arquivo" id="arquivo"><input type="submit" name="sub" value="OK"></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde você pegou esse script?

 

Podemos dizer que a função que valida a extensão funciona, mas a função tamanhos()...

if (tamanho_imagem < 0){java script:tamanhos();return false; }
Se o tamanho da imagem for menor que zero (?)

chamamos novamente a função tamanhos()

e retornamos falso. (?)

 

Bom, pode ser meio difícil você achar um arquivo com menos de zero kb. ^_^ rs Mas se encontrar, a funçao entrará em loop eterno. Ele não vai sair desse if.

Essa validação é mesmo necessária ser feita com o javascript? Eu recomendo você fazer essa validação, e se possível a outra, no servidor, com uma linguagem dinâmica.

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.