Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Validar campos generadoas dinamicamente

Estas en el tema de Validar campos generadoas dinamicamente en el foro de Frameworks JS en Foros del Web. Muy buenas tardes Estoy en problemas ya que necesito validar el siguiente formulario generado dinamicamente. Código PHP: <! DOCTYPE html  PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns = ...
  #1 (permalink)  
Antiguo 21/12/2010, 11:46
 
Fecha de Ingreso: mayo-2010
Mensajes: 153
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Validar campos generadoas dinamicamente

Muy buenas tardes

Estoy en problemas ya que necesito validar el siguiente formulario generado dinamicamente.


Código PHP:
<!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>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Jquery Agregar campos</title>
<
script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
contador=0;
function agregar() 
{
    
   contador=contador+1;
   $('#elementos').append('<div id="divelem_' + contador + '" ><table border="0" width="830"><tr><td width="300"><input type="text" name="nombreElemento[]"  id="elemento' + contador + '" size="45" value=""/></td><td width="30"><a href="javascript:borrar_campo(' + contador + ')"><img src="../img/eliminar.png" border="0"></a></td></tr></table></div>');
}

function borrar_campo(registro)
{
        $("#divelem_" + registro).remove();
        i--;
}
</script>
</head>

<body>

        <div id="elementos">
        <table border='0'  width="830">
            <tr>
              <td width="300">Emails</td>
              <td width="30"><a href="javascript:agregar()"><img src="../img/create.png" border="0"></a></td>
            </tr>   
        </table>
        </div>
</body>
</html> 
Muchas gracias...
  #2 (permalink)  
Antiguo 21/12/2010, 13:03
 
Fecha de Ingreso: diciembre-2010
Mensajes: 31
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Validar campos generadoas dinamicamente

jonnyalex_1990, te paso una función para validar email, que por lo que ví, es lo que necesitas.

Código Javascript:
Ver original
  1. function validarEmail(valor) {
  2. if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
  3. alert(”La dirección de email ” + valor + ” es correcta.”)
  4. return (true)
  5. } else {
  6. alert(”La dirección de email es incorrecta.”);
  7. return (false);
  8. }
  9. }

Luego deberías ver como se realiza la validación, en que evento, ya que no veo ningún boton de enviar ni nada parecido.

Agregale la clase "validar" a los inputs que agregas:

Código PHP:
Ver original
  1. $('#elementos').append('<div id="divelem_' + contador + '" ><table border="0" width="830"><tr><td width="300"><input type="text" name="nombreElemento[]" [B]class="validar" [/B] id="elemento' + contador + '" size="45" value=""/></td><td width="30"><a href="javascript:borrar_campo(' + contador + ')"><img src="../img/eliminar.png" border="0"></a></td></tr></table></div>');

Y luego los recorres y validas:

Código Javascript:
Ver original
  1. $(".validar").each(function(){
  2.    if( validarEmail($(this).val())){
  3.      alert('Email valido');
  4.    } else {
  5.      alert('Email invalido');
  6.    }
  7. });
  #3 (permalink)  
Antiguo 21/12/2010, 13:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 21/12/2010, 13:15
 
Fecha de Ingreso: mayo-2010
Mensajes: 153
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Respuesta: Validar campos generadoas dinamicamente

Amigo y con un boton como lo haria perdoname la ignorancia pero como lo haria por favor...
  #5 (permalink)  
Antiguo 21/12/2010, 13:28
 
Fecha de Ingreso: diciembre-2010
Mensajes: 31
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Validar campos generadoas dinamicamente

El botón es para activar la validación solamente. Sería exactamente igual a lo que te propuse, pero desde una función llamada por el botón:


Código Javascript:
Ver original
  1. function validarDinamicos() {
  2.  
  3.       $(".validar").each(function(){
  4.    
  5.          if( validarEmail($(this).val())){
  6.    
  7.            alert('Email valido');
  8.    
  9.          } else {
  10.    
  11.            alert('Email invalido');
  12.    
  13.          }
  14.    
  15.       });
  16. }

El botón sería:

Código HTML:
Ver original
  1. <input type="button" value="Validar" onclick="validarDinamicos()" />

No olvides agregar la clase "validar" a los inputs generados, si no, no te va a funcionar.
  #6 (permalink)  
Antiguo 21/12/2010, 13:59
 
Fecha de Ingreso: mayo-2010
Mensajes: 153
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Respuesta: Validar campos generadoas dinamicamente

Que puedo estar haciendo mal.

Código PHP:
<!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>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Jquery Agregar campos</title>
<
script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
function validarDinamicos() 
{
 
      $(".validar").each(function(){
   
         if( validarEmail($(this).val())){
   
           alert('Email valido');
   
         } else {
   
           alert('Email invalido');
   
         }
   
      });
}

contador=0;
function agregar() 
{
   contador=contador+1;
   //$('#elementos').append('<div id="divelem_' + contador + '" ><table border="0" width="830"><tr><td width="300"><input type="text" name="nombreElemento[]"  id="elemento' + contador + '" size="45" value=""/></td><td width="30"><a href="javascript:borrar_campo(' + contador + ')"><img src="../img/eliminar.png" border="0"></a></td></tr></table></div>');         
   $('#elementos').append('<div id="divelem_' + contador + '" ><table border="0" width="830"><tr><td width="300"><input type="text" name="nombreElemento[]" [B]class="validar" [/B] id="elemento' + contador + '" size="45" value=""/></td><td width="30"><a href="javascript:borrar_campo(' + contador + ')"><img src="../img/eliminar.png" border="0"></a></td></tr></table></div>');

}

function borrar_campo(registro)
{
        $("#divelem_" + registro).remove();
        i--;
}

$(".validar").each(function(){
   if( validarEmail($(this).val())){
     alert('Email valido');
   } else {
     alert('Email invalido');
   }
});
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="#">
  <div id="elementos">
    <table border='0'  width="830">
      <tr>
        <td width="300">Emails</td>
        <td width="30"><a href="javascript:agregar()"><img src="../img/create.png" alt="" border="0" /></a></td>
      </tr>
    </table>
    <p>
      <input type="submit" name="button" id="button" value="Enviar" onclick="return validarDinamicos()"
/>
    </p>
  </div>
</form>
</body>
</html> 

Etiquetas: campos, dinamicamente
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 01:43.