Foros del Web » Programando para Internet » Javascript »

Validar TextField Generados dinamicamente con Javascript

Estas en el tema de Validar TextField Generados dinamicamente con Javascript en el foro de Javascript en Foros del Web. Hola Foreros. Tengo una problema tengo un formulario el cual posee campos dinámicos generados con javascript Código PHP: <?php $Hoy = DATE ( "d-m-Y" , ...
  #1 (permalink)  
Antiguo 08/01/2011, 15:35
Avatar de Killerx_8937  
Fecha de Ingreso: noviembre-2006
Mensajes: 99
Antigüedad: 18 años
Puntos: 0
Validar TextField Generados dinamicamente con Javascript

Hola Foreros.

Tengo una problema tengo un formulario el cual posee campos dinámicos generados con javascript

Código PHP:
<?php
$Hoy
=DATE("d-m-Y",time());
?>
<form name=FormBusProv method=POST action="SolDin.php">
<table border="0">
        <tr>
            <td colspan='2'>Antecedentes Generales</td>
            <td></td>
        </tr>
      <tr>
            <td width="80" class='side-border-left'>Fecha Solicitud</td>
            <td width="400" class='side-border-right2'><?php echo "".$Hoy."";?></td>
        </tr>
        <tr>
            <td class='side-border-left'>Empresa</td>
            <td class='side-border-right2'>
                <select NAME=Empresa CLASS='textbox'>
                    <option default>Seleccione</option>
                    <option VALUE='TECNOLAB'>TECNOLAB LTDA.</option>
                    <option VALUE='KBA'>KBA-IC LTDA</option>
                </select>
            </td>
        </tr>
        <tr>
            <td class='side-border-left'>Solicitante</td>
            <td class='side-border-right2'>
                <Select name='Solicitante' class='textbox'>
                    <option selected >Seleccione</option>
                <?php
                
                     $consulta
=dbquery("SELECT * FROM Personal ORDER BY ApPaterno ASC");
                    while(
$registro=dbarray($consulta))
                    {
                            echo 
"<option value='".$registro[Run]."'> ".$registro[ApPaterno]." ".$registro[Nombre]."</option>\n";
                    }
                
?>
            </Select>
            </td>
        </tr>

        <tr>
        <tr><td colspan="2">Detalle de la Solicitud</td></tr>
            <td colspan='2' >

                
                <table border="0" id="DetalleSolicitud" >
                    <tr>
                         <td align="center" width='70' class='side-border-left'>Monto</td>
                         <td align="center" width='405' colspan='2' class='side-border-left'>Motivo o Razon de la Solicitud</td>
                  </tr>
              </table>
            
            </td>
        </tr>
        <tr>
            <td colspan="2"><input type="button" onClick="agregar()"  class='button' value="+"> Agregar mas Campos</td>
        </tr>
        <tr><td> </td></tr>
        <tr>
            <td class='side-border-left'>Imputar A:</td>
            <td class='side-border-right2'>
            <Select name='Imputar' class='textbox'>
            <option selected >Seleccione</option>
                <?php
                
                 $imputar
=dbquery("SELECT * FROM Imputar INNER JOIN TipoObra ON Imputar.IdTipoObra=TipoObra.IdTipoObra  ORDER BY Imputar.NombreImput ASC");
                    while(
$rowimputar=dbarray($imputar))
                    {
                            echo 
"<option value='".$rowimputa['IdImputar']."'> ".$rowimputar['TipoObra']." ".$rowimputar['NombreImput']."</option>\n";
                    }
                
?>
            </Select>
            </td>
        </tr>
        <tr>
            <td colspan='2' align='right'><input type="submit" value="ingresar" name="Ingresar" class='button'/></td>
        </tr>
    </table>
    </form>
La Función que agrega los campos es la siguiente

Código PHP:
    var posicionCampo=1;

    function 
agregar(){

    
nuevaFila document.getElementById("DetalleSolicitud").insertRow(-1);

    
nuevaFila.id=posicionCampo;

    
nuevaCelda=nuevaFila.insertCell(-1);

    
nuevaCelda.innerHTML="<td align='center' ><input type='text'  class='textbox2' size='10' name='Monto["+posicionCampo+"]' ></td>";

    
nuevaCelda=nuevaFila.insertCell(-1);

    
nuevaCelda.innerHTML="<td align='center'  ><input type='text' class='textbox2' size='50' name='Descripcion["+posicionCampo+"]' ></td>";

    
nuevaCelda=nuevaFila.insertCell(-1);

    
nuevaCelda.innerHTML="<td align='center'  ><input type='button' class='button' value='Eliminar' onclick='eliminar(this)'></td>";

    
posicionCampo++;

    }

    function 
eliminar(obj)

    {

        var 
oTr obj;

        while(
oTr.nodeName.toLowerCase()!='tr')

        {

            
oTr=oTr.parentNode;

        }

        var 
root oTr.parentNode;

        
root.removeChild(oTr);

    } 
Necesito validar que los campos agregados no estén vacíos

Alguna Idea de como hacerlo..
  #2 (permalink)  
Antiguo 08/01/2011, 22:38
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años, 5 meses
Puntos: 7
Respuesta: Validar TextField Generados dinamicamente con Javascript

haber si te sirve esto

Código Javascript:
Ver original
  1. function contar(){
  2.     var frm = document.getElementsByTagName('input');
  3.     con=0;
  4.     for(i=0;i<frm.length;i++){
  5.        if(frm[i].type == "text"){
  6.           // validar si esta vacio
  7.           if(frm[i].value==''){
  8.             con=con+1;
  9.           }
  10.        }
  11.     }
  12.     alert('textos vacios:'+con);
  13. }

Saludos
  #3 (permalink)  
Antiguo 09/01/2011, 21:10
Avatar de Killerx_8937  
Fecha de Ingreso: noviembre-2006
Mensajes: 99
Antigüedad: 18 años
Puntos: 0
Respuesta: Validar TextField Generados dinamicamente con Javascript

Gracias .

lo resolví de la siguiente manera

Código PHP:
    function ValidaVac()
    {

        var 
Monto=document.getElementsByName("Monto[]")
        var 
Descripcion=document.getElementsByName("Descripcion[]")
        for(
i=0;Monto.length;i++)
        {
                if(
Monto[i].value=="")
                {
                    
alert("El Monto de la fila  Numero :"+(i+1)+" Esta Vacio")
                    
Monto[i].focus();
                    return 
false;
                }
                else
                if(
Descripcion[i].value=="")
                {
                    
alert("La Descripcion de la fila Numero :"+(i+1)+" Esta Vacia")
                    
Descripcion[i].focus();
                    return 
false;
                }
                else
                if (
confirm('Estas seguro de enviar este formulario?'))
                {                    
                   
//document.FormInsProv.submit()
               
}
                    return 
true;                                           
        }
               
    } 

Etiquetas: dinamicamente, textfield
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 10:58.