Foros del Web » Programando para Internet » Javascript »

Problema con formulario Firefox

Estas en el tema de Problema con formulario Firefox en el foro de Javascript en Foros del Web. Hola, mir problema es en que tengo una pagina que abre un documento para gestionar, y lo tengo por clave y contraseña, en el archivo ...
  #1 (permalink)  
Antiguo 29/05/2010, 21:08
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta Problema con formulario Firefox

Hola, mir problema es en que tengo una pagina que abre un documento para gestionar, y lo tengo por clave y contraseña, en el archivo de control en el que se validan los datos, para diseccionar a la gestión del documento mando los datos por POST, para mayor seguridad, todo funciona perfecto en google chrome e IE, pero en firefox, no, se queda en el control y no pasa envía el formulario, que podra ser?, el código es el siguiente, OJO, a pesar de que esta hecho esto en php, el envío si es con JavaScript, por eso puse el tema aquí:

Código PHP:
include 'seguridadDoc.php';
include 
'bdconection.php'
$link conectarse();
$ClaveExamen $_POST['ClaveExamen'];
$PassExamen $_POST['PassExamen'];
$busqueda mysql_query("SELECT ClaveExamen FROM examenes WHERE ClaveExamen = '$ClaveExamen' AND PassExamen = '$PassExamen'");
if(
mysql_num_rows($busqueda) != 0)
{
    
$sql "SELECT * FROM examenes WHERE ClaveExamen = '$ClaveExamen'";
    
$result mysql_query($sql) or die (header ("Location: examen_insertaClaveGestion.php?action=nodb"));
    
$row mysql_fetch_array($result);
    echo 
'<FORM name = "form" action = "examenGestion.php" method = "post">';
    echo 
'<INPUT type="hidden" name="idExamen" value="' $row['idExamen'] . '"/>';
    echo 
'</FORM>';
    echo 
'<SCRIPT language = "javascript">document.form.submit();</SCRIPT>';
}
else
{
    
header("Location: examen_insertaClaveGestion.php?action=nologin");

  #2 (permalink)  
Antiguo 29/05/2010, 23:17
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema con formulario Firefox

Como dato adicional, esto me aparece en la consola de errores de java script en firefox:

document.form is undefined

Cambie el nombre de mi formulario por test, pero también obtengo el mismo resultado, tambien intercambie "ducument" por "this" y es lo mismo :S
  #3 (permalink)  
Antiguo 29/05/2010, 23:46
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 formulario Firefox

Hola:

En javascript no debes dejar espacios en blanco entre el atributo y el signo igual y su valor... por ejemplo: <form name="form"

Otra cosa que no creo que sea el problema, aunque es una mala práctica, es usar palabras clave para algunos atributos (el form por ejemplo)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 30/05/2010, 00:02
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema con formulario Firefox

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

En javascript no debes dejar espacios en blanco entre el atributo y el signo igual y su valor... por ejemplo: <form name="form"

Otra cosa que no creo que sea el problema, aunque es una mala práctica, es usar palabras clave para algunos atributos (el form por ejemplo)
Corregido, aun asi sigo en las mismas, firefox tiene problemas con esto, acabo de usar:

document.getElementById('test').submit();

Oviamente poniendole la id al form id=test, y ahora la consola de errores me dice que document.getElementById('test') is null, alguna idea? :S
  #5 (permalink)  
Antiguo 30/05/2010, 00:07
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 formulario Firefox

Hola:

¿ id="test" ? o name="test"...

Si usas un id debes referencuarlo con document.getElementById(), y paara el atributo name se usa la colección document.forms

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 30/05/2010, 00:57
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema con formulario Firefox

document.forms("test").submit();

tampoco funciona :(

ni tampoco:

document.forms[0].test.submit();

ni

document.forms.test.submit();

que podre usar? D:
  #7 (permalink)  
Antiguo 30/05/2010, 01:01
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 formulario Firefox

Hola:

Las posibilidades son: que tengas deshabilitado javascript (mira la configuración de tu navegador), o que exista algún error... en tal caso debes revisar la consola de errores... y si quieres mejor ayuda, poner el código tal como lo ve el navegador (ver código fuente).

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 30/05/2010, 01:12
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema con formulario Firefox

Revisado, javascript esta activado,

el codigo como lo ve el navegador es:

Código HTML:
 <FORM name="test" action="examenGestion.php" method="post"><INPUT type="hidden" name="idExamen" value="5"/></FORM><SCRIPT language="javascript">document.forms("test").submit();</SCRIPT> 
el error ahora dice

document.forms is not a function

:S en internet he encontrado mucho el problema de firefox con el document.algo, cosa que en otros navegadores funciona a la perfeccion pero en ninguna pagina incluida esta encuentro el problema en concreto, no habrá otra alternativa de enviar el formulario automáticamente? :S
  #9 (permalink)  
Antiguo 30/05/2010, 01:24
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 formulario Firefox

Hola:

Exacto, no es una función sino una colección (o array), y los paréntesis debes reemplazarlos por corchetes... aunque tal como lo tienes es muy arriesgado usar porque el formulario aún estando definido, puede que no se procese correctamente.

Más fiable es esperar que se cargue la página:

<script>window.onload = function() {document.forms["test"].submit();}</script>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 30/05/2010, 13:38
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema con formulario Firefox

Sigo en las mismas no se que ocurra con el firefox :S, cambio la instrucción y solo sirve en el resto de los navegadores :/
  #11 (permalink)  
Antiguo 30/05/2010, 13:52
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Sonrisa Respuesta: Problema con formulario Firefox

PROBLEMA RESUELTO, pero si alguien me puede explicar por que, se lo agradecería :P

resulta que a mi documento de control, le puse las etiquetas de cabecera y quedo asi:

Código HTML:
<HTML>
	<HEAD>
		<TITLE>test</TITLE>
	</HEAD>
<BODY>
	<?php
		include 'seguridadDoc.php';
		include 'bdconection.php'; 
		$link = conectarse();
		$ClaveExamen = $_POST['ClaveExamen'];
		$PassExamen = $_POST['PassExamen'];
		$busqueda = mysql_query("SELECT ClaveExamen FROM examenes WHERE ClaveExamen = '$ClaveExamen' AND PassExamen = '$PassExamen'");
		if(mysql_num_rows($busqueda) != 0)
		{
			$sql = "SELECT * FROM examenes WHERE ClaveExamen = '$ClaveExamen'";
			$result = mysql_query($sql) or die (header ("Location: examen_insertaClaveGestion.php?action=nodb"));
			$row = mysql_fetch_array($result);
			echo '<FORM name="test" id="xD" action="examenGestion.php" method="post">';
			echo '<INPUT type="hidden" name="idExamen" value="' . $row['idExamen'] . '"/>';
			echo '</FORM>';
			echo '<SCRIPT language="javascript">this.document.getElementById(\'xD\').submit();</SCRIPT>';
		}
		else
		{
			header("Location: examen_insertaClaveGestion.php?action=nologin");
		}
	?>
	</BODY>
</HTML> 
Supongo que son las reglas de sintaxis que maneja firefox y otros no, pero no lo se :/, en fin utilizare el "onload" como dice caricatos, gracias :)

Etiquetas: firefox, formulario
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 17:41.