Foros del Web » Programando para Internet » Javascript »

Evento click() en firefox

Estas en el tema de Evento click() en firefox en el foro de Javascript en Foros del Web. Hola amigos, Pues si, lo que pasa es que el siguiente código no me funciona en firefox, se trata del evento click(); Código HTML: <input ...
  #1 (permalink)  
Antiguo 17/01/2006, 17:52
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Sonrisa Evento click() en firefox

Hola amigos,

Pues si, lo que pasa es que el siguiente código no me funciona en firefox, se trata del evento click();

Código HTML:
<input type="file" id="fichero" style="display: none;"><input type="text" id="ruta">
<input type="button" value="Seleccionar..." onClick="document.getElementById('fichero').click(); document.getElementById('ruta').value=document.getElementById('fichero').value;"> 
La función de este código es que cuando se presione el boton Seleccionar... debe lanzar el dialogo de selección de archivo del input file y luego poner la ruta del archivo en un text, se entiende?. La falla creo yo, esta en este tramo:

Código:
document.getElementById('fichero').click();
Va perfecto para internet explorer, pero no se como hacerlo funcionar en firefox

Saludos,
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #2 (permalink)  
Antiguo 18/01/2006, 01:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Has probado con onclick...

document.getElementById('fichero').onclick();

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 18/01/2006, 12:41
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Sí le pongo onclick(), en IE me bota el error de "el objeto no acepta esa propiedad o metodo" y en FF la consola de javascript dice "document.getElementById('fichero').onclick() is not a function"...

Es que mas bien la idea es que al dar clic sobre el botón se active el input file para que lance el dialogo de elejir archivo (parte que no funciona en FF) y al seleccionarlo la ruta pase al input text.

Que otra forma hay de hacerlo?

Saludos,
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #4 (permalink)  
Antiguo 18/01/2006, 14:31
 
Fecha de Ingreso: marzo-2005
Mensajes: 57
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola hieloverde,

Entiendo que lo que quieres es guardar en un campo text la ruta del archivo que se selecciona con un campo file.

Y como bien dices el código que has puesto en Firefox no funciona, asi que lo que se me ocurre es darle un poco la vuelta al asunto, es decir, seleccionar el archivo con el campo file y copiarlo al campo text. Por ejemplo:

Código PHP:
<form action="" method="post" name="form">

<
input type="file" name="fichero" id="fichero" onchange="document.form.ruta.value = document.form.fichero.value;">
<
input type="text" name="ruta" id="ruta">

</
form
hieloverde, si se puede saber, qué fin tiene la ruta del campo file en el campo text?

Saludos
__________________
Alpa cine - Películas de cine con estrenos de cartelera
Compuntoes - Como es y punto

Última edición por esteno; 08/05/2006 a las 08:03
  #5 (permalink)  
Antiguo 18/01/2006, 14:57
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Hola esteno ,

La idea es que el campo 'file' este oculto y que quede en su lugar un campo de texto con su boton a un lado (emulando en apariencia el campo 'file') esto para poder cambiar el texto, apariencia y disposicion del botón que lanza el dialogo de 'elejir archivo' en vez del clasico 'Examinar...' le pueda poner 'Seleccionar...' o alguna otra palabra.

Entonces el boton 'Seleccionar...' debe activar el campo 'file' que esta oculto y a su vez la ruta debe pasar al campo de texto para que la ilusion sea completa.

Aqui colge el ejemplo que por ahora solo funciona en IE http://hieloverde.com/prueba.php

Saludos,
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico

Última edición por hieloverde; 18/01/2006 a las 15:03
  #6 (permalink)  
Antiguo 20/01/2006, 11:39
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Alguna idea de como hacerlo?

Solo quiero saber cual es el substituto de click() para firefox, es lo unico que no funciona.

O si hay una solución en algun lado para esto, favor de indicarme donde...

Saludos,
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #7 (permalink)  
Antiguo 21/01/2006, 21:22
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Decime si esto es lo que necesitás:

http://www.quirksmode.org/dom/inputfile.html
  #8 (permalink)  
Antiguo 25/01/2006, 17:15
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Gracias Panino5001 lo probare y luego te comento el resultado...

Saludos,
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #9 (permalink)  
Antiguo 01/08/2008, 20:29
 
Fecha de Ingreso: noviembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Evento click() en firefox

este hilo estaba muerto pero ahi que decir que estos scripts no funcionan los probe todos.
cabe decir que el de la pagina http://www.quirksmode.org/dom/inputfile.html funciona ahi pero no lo logre implementar
  #10 (permalink)  
Antiguo 01/08/2008, 22:11
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Evento click() en firefox

Con css puede hacerse sin problemas. No obstante, a partir de Flash 8 existe la clase flash.net.FileReference, que te permite sustituir un campo tipo file con todas sus funcionalidades y darle el aspecto visual que necesites, con la ventaja adicional de que facilita la inclusión de indicadores de progreso del upload sin que sea necesario instalar librerías especiales en el servidor.
  #11 (permalink)  
Antiguo 08/10/2009, 10:49
 
Fecha de Ingreso: octubre-2009
Mensajes: 1
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Evento click() en firefox

Hola amigos aquí tienen una solución consiste en registrar el evento y listo, a mi me funciono espero les funcione a ustedes también.

recuerden que tienen que hacerlo después de la creación del árbol del DOM es decir dentro de un window,onload

HTMLElement.prototype.click=function(){
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 19:03.