Foros del Web » Programando para Internet » Javascript »

innerHTML desaparece

Estas en el tema de innerHTML desaparece en el foro de Javascript en Foros del Web. Buenas, tengo un error que creo que es bastante raro. Resulta que intento realizar una validación para la que me han pedido que utilice innerHTML. ...
  #1 (permalink)  
Antiguo 26/05/2009, 06:57
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
innerHTML desaparece

Buenas,

tengo un error que creo que es bastante raro. Resulta que intento realizar una validación para la que me han pedido que utilice innerHTML. La validación me la hace bien, pero a la hora de mostrarla es donde tengo problemas, pues el mensaje se va enseguida.

He mirado por varios temas del foro, por varios otros foros y por unos apuntes y creo que al menos la semántica está correcta. La validación la hago en un fichero .js (no creo que ese sea el problema), así que os pongo los dos fragmentos de código:

Código de validacionBloque.js
Código:
function validaFormulario() {
	var mensaje = "";
	var res;
	
	// Funciones de validacion en el que se va formando el mensaje a mostrar
	
	if (mensaje!="")
		document.getElementById("validacion_bloque").innerHTML = mensaje;
		return true;
}
Código del formulario.html:
Código HTML:
<body>
    <div id="div_form">
    	<div id="validacion_bloque">
    		<script type="text/javascript" src="validacionBloque.js"></script>
    	</div>

      <form id="formulario" name="formulario" onsubmit="validaFormulario()">
             <!-- Formulario -->
      </form>
   </div>
</body> 
A ver si podeis ayudarme, por favor, que ya estoy loca con esto
  #2 (permalink)  
Antiguo 26/05/2009, 07:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: innerHTML desaparece

Es que para cancelar la acción del evento debes devolver false (return false). Además, en el evento onsubmit debes llamar a la función así:
Código javascript:
Ver original
  1. return validaFormulario();
En caso de que valide correctamente, devuelve true (return true)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 26/05/2009, 10:55
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: innerHTML desaparece

Muchas gracias, era lo del return. Que devolviese false lo tenia al principio, pero como ya estaba en plan prueba y error, pues miré si por casualidad era verdadero.
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 18:17.