Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Problema com input file

24-09-2008 16:38

Bom, primordialmente eu quis associar estilos CSS ao elemento input file, mas vi que não é possível, daí fiz uma gambiarra aqui, criei um div com o estilo definido por mim, e joguei o input file dentro deste div com opacity=0.

Caso firefox:

Bom, no firefox, coloquei size=3, assim o elemento tomou todo o espaço do div, daí quando clico no div, é como se estivesse clicando no input file, daí abre a caixinha e tudo...

Caso internet explorer:

Bom, no IE eu coloquei o evento onclick no div pra chamar a função do input file, funcionou legal também...

Caso Opera (Problema está aqui):

O input file tomou todo o div no opera, mas o problema é o seguinte, exemplo, tenho o input file, com a parte de texto e o botão:

Imagem

Bom, o elemento não é constituído só pelo botão procurar, tem a parte de texto também, no firefox essa parte fica pra esquerda do div, ai quando clico abre a caixa de procurar...

Já no opera só abre a caixa de procurar quando clico no botão, ou seja, quando clico na parte do texto que fica um pouco pra esquerda tomando cerca de metade da div, não ocorre nada, e tentei por o evento onclick como no IE, mas não funciona ;/

Alguém tem alguma sugestão ou solução pro meu problema? Obrigado.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17523
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com input file

24-09-2008 16:44

E o script que está usando? Passa ele ai para dar uma idéia do uso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Problema com input file

24-09-2008 16:48


#teamphotoFile { opacity: 0; filter: alpha(opacity=0); }


<div id="teamphotoButton" style="margin-top:5px;"<? if(strstr($HTTP_USER_AGENT, "MSIE") == TRUE) {echo " onClick=\"javascript:document.getElementById('teamphotoFile').click();\"";} ?>><input type="file" name="teamphotoFile" id="teamphotoFile" onchange="javascript:novoArquivo();" size="3" />

Essa função novoArquivo() só faz pegar o value do input file e jogar numa propriedade html, tipo

document.getElementById('ELEMENTO').innerHTML=document.getElementById('teamphotoFile').value;

flw.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17523
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com input file

24-09-2008 19:36

Pelo que sei o Firefox e o Opera não aceitam o click()

Deixo aqui o que consegui para Internet Explorer

<style> .pai{ width:30px; background-color:#f9f9f9; border:1px solid #cccccc; position:relative; top:-20px; } .trans{ opacity: 0; filter: alpha(opacity=0); } </style>


<script> window.onload = function(){ document.getElementById("pai").style.width = "100px"; } function transforma() { document.getElementById("file").click(); }   function muda() { document.getElementById("mascara").value=document.getElementById("file").value; } </script>


<form> <input type="text" id="mascara" name="mascara" value=""> <div id="filho" class="filho"><input id="file" type="file" class="trans" onchange="muda()" style="width:0px;"></div> <div id="pai" class="pai" onclick="javascript:transforma()">&nbsp;</div> </form>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Problema com input file

24-09-2008 20:02

Cara, isso aí eu já tenho aqui também, quero uma solução pro Opera entendeu? ¨blush¨

Valeu.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17523
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com input file

24-09-2008 20:21

Vê se ajuda, rodei isso no Opera e ficou só o botão

<input type="file" style="width:82px;">

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Problema com input file

24-09-2008 22:11

Cara, com essa sua última resposta, fiz uma outra gambiarra aqui e consegui resolver o problema, obrigado!!
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado