Foros del Web » Programando para Internet » Javascript »

Problema con onchange en Explorer.

Estas en el tema de Problema con onchange en Explorer. en el foro de Javascript en Foros del Web. Buenos días, He mirado y parece que onchange no se lleva muy bien con explorer. ¿Alguien puede ofrecerme una alternativa a su uso? Lo utilizo ...
  #1 (permalink)  
Antiguo 07/11/2011, 05:51
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Problema con onchange en Explorer.

Buenos días,

He mirado y parece que onchange no se lleva muy bien con explorer. ¿Alguien puede ofrecerme una alternativa a su uso?
Lo utilizo para abrir un diálogo de selección de arhivo:

Código HTML:
<input type="file" style="display:none;" id="mitxt2" name="mitxt2" onchange="form.submit();"/> 
Con submit miro si el id es mitxt2 y si lo es, abro el fichero escogido por el usuario.
En Firefox funciona perfectamente pero en explorer simplemente no hace nada (supongo que no detecta ningún cambio al seleccionar con doble click el archivo).

Mil gracias una vez mas compañeros!
  #2 (permalink)  
Antiguo 07/11/2011, 05:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con onchange en Explorer.

Hola:

explorer no tiene ningún problema con los formularios ni los eventos aplicados correctamente...

Una cosa que no está bien es form.submit()... deberías anteponer this indicando el objeto que llama al método de manera correcta.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 07/11/2011, 06:03
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Problema con onchange en Explorer.

Gracias caricatos, ¿cómo puede ser que en firefox todo funcione correctamente? es decir, en que difieren los dos exploradores en el momento de ejecutar onchange().

Realmente solo quiero que cuando clico en el archivo del cuadro de diálogo abierto por input file ejecute el submit().

He probado onchange="this.submit();" sin éxito.
  #4 (permalink)  
Antiguo 07/11/2011, 06:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con onchange en Explorer.

Hola:

Lo correcto es "this.form.submit()": this es el campo file, form el formulario y submit el método.

form no vale como formulario por sí solo...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 08/11/2011, 03:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Problema con onchange en Explorer.

Gracias de nuevo caricatos, cada día se aprende algo nuevo. Ahora la sintaxis es correcta, pero el formulario continúa sin enviarse en internet explorer. En Firefox continúa enviándose correctamente. No entiendo nada.
  #6 (permalink)  
Antiguo 15/11/2011, 04:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Problema con onchange en Explorer.

Finalmente me hicieron agregar eso tan feo de "Solo para firefox" en la aplicación. Igualmente seguiré intentando que explorer reconozca el onchange. Si a alguien se le ocurre algo soy todo oídos.

Mil gracias!
  #7 (permalink)  
Antiguo 15/11/2011, 04:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con onchange en Explorer.

Hola:

Insisto que explorer implementa bien lo que quieres, así que debes tener algo mal, y podríamos ayudarte si mostraras el código...

Veo que el control está oculto, así que deberías tener un label asociado por algún sitio...

Quizás sea mejor que no ocultes ese control.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 17/11/2011, 04:21
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Problema con onchange en Explorer.

Gracias caricatos, no sé como lo haces siempre atento al foro.

Pues intentaré poner la parte de código que tiene el problema, es el siguiente:

En editarhoja.php, el código del formulario es el siguiente:

Código HTML:
<form method="post" action="editarhoja.php?visualizar=1" enctype="multipart/form-data">
!!!!!!!!!LÍNEA IMPORTANTE   <input type="file" style="display:none;" id="mitxt2" name="mitxt2" onchange="this.form.submit();"/>

            <input type="hidden" value="mitxt" name="form"/>
            <input type="submit" name="form" value="Publicar i salir" onclick="alerta()">
        
          <br /> 

          <!-- Si hemos subido un fichero con input type file, rellenamos el textárea con el contenido del fichero -->
!!!!!!!!!!!!!LÍNEA IMPORTANTE	<textarea id="mitxt" resize="none" name="mitxt"><?php if(is_uploaded_file($_FILES['mitxt2']['tmp_name'])) {readfile($_FILES['mitxt2']['tmp_name']);}?></textarea>
            
			<!-- Reemplazamos el textarea con el editor ckEditor-->
            
            <script type="text/javascript">

            CKEDITOR.replace( 'mitxt',
	    {
	        toolbar : 
			[
	    ['Source','-','open_html','Save','NewPage','Preview','-','Templates'],
	    ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
	    ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
	    ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
	    ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
	    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
	    ['Link','Unlink'],
	    ['Image','Table','HorizontalRule','SpecialChar','PageBreak'],
	    '/',
	    ['Styles','Format','Font','FontSize'],
	    ['TextColor','BGColor'],
	    ['Maximize', 'ShowBlocks']
	],
	
	/* Buscador de archivos */
	filebrowserBrowseUrl : '/PRUEBASFULL/ckfinder/ckfinder.html',
	filebrowserImageBrowseUrl : '/PRUEBASFULL/ckfinder/ckfinder.html?type=Images',
	filebrowserFlashBrowseUrl : '/PRUEBASFULL/ckfinder/ckfinder.html?type=Flash',
	filebrowserUploadUrl : '/PRUEBASFULL/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
	filebrowserImageUploadUrl : '/PRUEBASFULL/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
	filebrowserFlashUploadUrl : '/PRUEBASFULL/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash',
			<!-- Codigo para añadir el administrador de ficheros que nos permite subir imágenes al servidor -->
			<!--filebrowserBrowseUrl : '/PRUEBASFULL/plugins/filemanager/index.php',-->
	        uiColor : '#9AB8F3'
			
	    });
					
			</script>

	</form> 
Como ves es una chapucilla para que ckeditor abra ficheros. He marcado las dos líneas que creo importantes, simplemente es un input file que envía el fichero y si ha sido enviado lo abre en el textarea. Para eso utilizo onchange, que me dice cuándo ha sido seleccionado el archivo del cuadro de diálogo. En firefox perfecto, en cambio en explorer no detecta el cambio al clicar sobre un fichero del cuadro de diálogo de selección. ¡Un saludo!

Etiquetas: funcion, input, onchange
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:55.