Foros del Web » Programando para Internet » Javascript »

Validacion inner HTML

Estas en el tema de Validacion inner HTML en el foro de Javascript en Foros del Web. Buenas tardes Tengo el siguiente código lo que deseo hacer y no me funciona es : Al momento de yo dar clic al botón me ...
  #1 (permalink)  
Antiguo 29/03/2012, 12:01
 
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación Validacion inner HTML

Buenas tardes

Tengo el siguiente código lo que deseo hacer y no me funciona es :

Al momento de yo dar clic al botón me muestre todos los errores que tengo en el formulario, en este momento me muestra uno a uno

Los errores que me los muestre al lado de cada campo

Como lo hago

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
function Validar(f)
{
	var error = true;
	
	if (f.txt_nombre.value== 0 || f.txt_nombre.value == null || /^\s+$/.test(f.txt_nombre.value))
    {
	  document.getElementById('error_nombre').innerHTML='<font color=#FF0000> ! Campo requerido <font>';
	  f.txt_nombre.focus(); 
      return false
    }
	else
	{
		document.getElementById('error_nombre').innerHTML=' ';
	}
	
	if (f.txt_apellido.value== 0 || f.txt_apellido.value == null || /^\s+$/.test(f.txt_apellido.value))
    {
	  document.getElementById('error_apellido').innerHTML='<font color=#FF0000> ! Campo requerido <font>';
      f.txt_apellido.focus(); 
      return false
    }
	else
	{
		document.getElementById('error_nombre').innerHTML=' ';
	}
	
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <table width="456" border="1" align="center">
    <tr>
      <td>Nombre</td>
      <td>
      <input type="text" name="txt_nombre" id="txt_nombre" />
      <span id="error_nombre"></span>
      </td>
    </tr>
    <tr>
      <td>Apellido</td>
      <td><label for="txt_apellido"></label>
      <input type="text" name="txt_apellido" id="txt_apellido" />
       <span id="error_apellido"></span>
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" name="button" id="button" value="Validar" onclick="return Validar(form1)"/></td>
    </tr>
  </table>
</form>
</body>
</html> 
  #2 (permalink)  
Antiguo 02/04/2012, 08:48
 
Fecha de Ingreso: enero-2011
Ubicación: Maracay
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Validacion inner HTML

Hola, problema que tienes es que estas haciendo "return false" en cada validación, haciendo que el código que sigue sencillamente no se ejecute. lo que debes hacer es que en vez de hacer el 'return false" almacenes en una variable el valor y al final que se ejecuten todas las validaciones retornes el valor

Código Javascript:
Ver original
  1. function validar(){
  2.   var isValid=true; //por defecto el formulario es valido
  3.   if(/*validación 1*/){
  4.      isValid=false;
  5.  }
  6.  
  7.   if(/*validación 2*/){
  8.     isValid=false;
  9.   }
  10.  
  11.  if(/*validación 2*/){
  12.     isValid=false;
  13.   }
  14.  
  15.  
  16.   return isValid;
  17. }

Argenis Fontalvo (http://argenisfontalvo.brandyourself.com/)

Etiquetas: formulario, funcion, html, input
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:43.