Programação, SEO, Troca de Links e dicas de indexação google
Random header image... Refresh for more!

Verificar extensão do arquivo em um formulário com javascript

Dúvida do Maury sobre javascript surgida em uma lista de php que participo

“Tenho um input file, e quando usuario clica em “arquivo” para escolher o arquivo para fazer upload, abre uma janelinha do windows, até ai tudo normal.Mas quando o usuario escolhar um arquivo eu preciso descobrir a extensão sem usar submit, pois conforme a extensão do arquivo escolhido, alguns campos do formulário serão desabilitados ou não.
Alguem sabe como fazer isso?”

Encontrei então um script na internet que fazia o teste mas era quando você clicava no submit, modifiquei para onblur no input file e funcionou, depois adicionei para que ele limpasse o input em questão e movesse o cursor para lá, sendo assim você pode realizar outras coisas em javascript se assim precisar tanto para em caso positivo quanto para em caso negativo.

Espero que possa ajudar a você e outros visitantes aqui do Blog

Veja aqui o funcionamento do script

<html>
<head>
<META http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Descobrir extens&atilde;o de um arquivo com javascript</title>
</head>
<body>

<input id=”foo” type=”file” onBlur=”checkfileType(’foo’,’.zip’)”>

<script type=”text/javascript”>
function getfileextension(inputId)
{
var fileinput = document.getElementById(”foo”);
if(!fileinput ) return “”;
var filename = fileinput.value;
if( filename.length == 0 ) return “”;
var dot = filename.lastIndexOf(”.”);
if( dot == -1 ) return “”;
var extension = filename.substr(dot,filename.length);
return extension;
}
function checkfileType(inputId,allowedExt)
{
var ext = getfileextension(inputId);
if( ext == allowedExt )
alert(”Passou”);
else
alert(”Voce deve escolher um arquivo .zip”);
document.getElementById(”foo”).value=”";
document.getElementById(”foo”).focus();
return false;
}
</script>

<input type=”button” value=”Get”>

</div>
</body>
</html>

2 comments

1 Nick Marinho { 09.09.08 at 12:11 pm }

Testei no Firefox 3 e não funcionou.
Verifica o erro aí e posta de novo

2 Roberto Lemos { 09.09.08 at 2:57 pm }

Marinho, está funcionando sim pois eu uso o FF 3 dá uma olhada nele funcionando
http://lemos.biz/lab/descobrir-extensao-em-formulario-com-javascript/

Leave a Comment