Foros del Web » Programando para Internet » Javascript »

Problema con evento submit e iframe

Estas en el tema de Problema con evento submit e iframe en el foro de Javascript en Foros del Web. Holas tengo un problema con el evento submit() de javascript y un iframe en Firefox tengo un validador en javascript en un archivo mensajes.php function ...
  #1 (permalink)  
Antiguo 11/01/2008, 17:36
 
Fecha de Ingreso: agosto-2002
Mensajes: 135
Antigüedad: 22 años, 4 meses
Puntos: 0
Exclamación Problema con evento submit e iframe

Holas tengo un problema con el evento submit() de javascript y un iframe en Firefox

tengo un validador en javascript en un archivo mensajes.php

function validar(){
if(document.formsj.msj.value == ''){
alert('ingrese un mensaje');
document.formsj.msj.focus();
return false;
}
document.formmsj.submit();
document.formsj.msj.value = '';

}

tengo un iframe en mensajes.php

<iframe width="100%" height="150" src="listamsj.php" frameborder="1" name="imsj" id='imsj'>

envio datos de un formulario :
<FORM name= "formsj" action="listamsj.php" method="post" target = "imsj">
<INPUT type="text" id="msj">
<INPUT type="button" value="Enviar Mensaje" onclick="validar()">
<FORM>

Ahora bien lo que pasa es que en Firefox.. manda una sola vez pero a la segunda el archivo que deberia recibir los parametros del formulario "listamsj.php" no lo hace.. y en Internet Explorer funciona correctamente (como creo que deberia funcionar). Tambien probe con onsubmit del formulario pero da el mismo error.

Quiza este haciendo algo mal.. o en realidad mi forma de validar no funciona en el FireFox.

Gracias de antemano.

PD: Una duda existencial respecto a la etiqueda <form>.. por que? en Internet Explorer cuando se coloca esta etiqueda los objetos alrededoer de esta etiqueta se desplazan. por lo menos 10 px.?
__________________
El Web es el futuro...
y no solo lo digo yo

Última edición por Dr_Spider; 12/01/2008 a las 09:33
  #2 (permalink)  
Antiguo 11/01/2008, 23:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: Problema con evento submit e iframe

Hola:

Cita:
Iniciado por Dr_Spider Ver Mensaje
Quiza este haciendo algo mal.. o en realidad mi forma de validar no funciona en el FireFox.
Evidentemente estás haciendo algo mal, y en mi opinión más de una cosa...
El target del formulario debe coincidir con el nombre de la ventana y no con el id, así que tu iframe debería estar definido así:
Código:
<iframe width="100%" height="150" src="listamsj.php" frameborder="1" name='imsj'>
Otra cosa que me parece mal, es que no haya un botón submit()... tu formulario así es inaccesible. Lo correcto es validar poniendo en el tag form la coletilla: onsubmit="return validar(this)", aunque no es obligatorio poner el parámetro (this) yo siempre lo recomiendo para hacer más fácil su procesamiento, y esa función cancelaría el envío con un simple "return false"

Cita:
Iniciado por Dr_Spider Ver Mensaje
PD: Una duda existencial respecto a la etiqueda <form>.. por que? en Internet Explorer cuando se coloca esta etiqueda los objetos alrededoer de esta etiqueta se desplazan. por lo menos 10 px.?
Lo de los pixeles de más, no recuerdo si es por el márgen que pone por defecto el citado navegador (currentStyle)... creo que se quita con ese estilo:
Código:
<style>
form {margin: 0;}
</script>
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/01/2008, 09:54
 
Fecha de Ingreso: agosto-2002
Mensajes: 135
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: Problema con evento submit e iframe

Hola
"Evidentemente estás haciendo algo mal, y en mi opinión más de una cosa...
El target del formulario debe coincidir con el nombre de la ventana y no con el id, así que tu iframe debería estar definido así"


En realidad es error mio pero en este post.. al escribirlo lo hice mal en realidad no copie el codigo solo lo recorde y me olvide del atributo name = 'imsj' del irframe, y si intente de la manera que me indicas con ayuda del "JavaScript® Bible" de Danny Goodman y tampoco me funciona
Código HTML:
 <div align="center" style="padding-top:2px;">
<iframe style="overflow-x:hidden" name="msj" id="msj" width="260" height="150" src="mensajes.php" frameborder="0" scrolling="Yes"> Si ves este mensaje, significa que tu navegador no soporta esta caracter&iacute;stica o est&aacute; deshabilitada. </iframe>
	</div>
    <form action="mensajes.php" method="post" name="frmmsj" target="msj">
    <div align="center">
    	<div align="left" style="padding-left:2px;">Mensaje:</div>
        <input name="msj_cont" type="text" maxlength="200" class="msjmensaje"/>
        <div align="left" style="padding-left:2px;">Nick:</div>
        <span style="padding-right:4px;"><input name="msj_nick" type="text" maxlength="30" class="msjnick"/></span>
        <span><input type="submit" name="enviarmsj" id="enviarmsj" value="Enviar" class="msjenviar"  /></span>
    </div>
    </form> 
Con este metodo el Firefox sigue teniendo ese error de mandar solo una vez el formulario.

Y lo del style para la etiqueta form funciona perfecto. gracias...

Seguire probando.. pero gracias de todas maneras..
__________________
El Web es el futuro...
y no solo lo digo yo

Última edición por Dr_Spider; 12/01/2008 a las 11:39 Razón: Corrijo por que el anterior era un codigo de ejemplo del libro que mencione
  #4 (permalink)  
Antiguo 12/01/2008, 11:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: Problema con evento submit e iframe

Hola:

Ahora has puesto un código sin iframes ni target en el form... y dinos que es lo que falla (le falta el value al submit)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 12/01/2008, 11:40
 
Fecha de Ingreso: agosto-2002
Mensajes: 135
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: Problema con evento submit e iframe

Ahora bien corrigiendo el mi codigo anterior...

Lo que pasa es que validando o no con javascript de igual manera con el codigo que muestro anteriormente, en Firefox sigue enviando.. solo una vez los datos del formulario, despues no envia nada de nada
__________________
El Web es el futuro...
y no solo lo digo yo
  #6 (permalink)  
Antiguo 12/01/2008, 12:16
 
Fecha de Ingreso: agosto-2002
Mensajes: 135
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: Problema con evento submit e iframe

Es toy intentando con en mi funcion de validar

document.frmmsj.target = 'msj';

y aun sigue fallando en ocaciones es bastante raro..

Ahora si funciona bien, manteniendo el atributo target = 'msj'

<form action="mensajes.php" method="post" name="frmmsj" target="msj">

y agregando al la funcion de validacion:

document.frmmsj.target = 'msj';

Funciona bien
__________________
El Web es el futuro...
y no solo lo digo yo

Última edición por Dr_Spider; 12/01/2008 a las 12:28
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 02:09.