Foros del Web » Programando para Internet » Javascript »

Validar filas de campos

Estas en el tema de Validar filas de campos en el foro de Javascript en Foros del Web. Buenos dias Estoy en un problema quisiera saber como puedo hacer para validar estas filas de campos que al yo darle enviar me diga existen ...
  #1 (permalink)  
Antiguo 28/09/2011, 09:26
 
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
Exclamación Validar filas de campos

Buenos dias

Estoy en un problema quisiera saber como puedo hacer para validar estas filas de campos que al yo darle enviar me diga existen campos vacíos en la fila 2

la otra condicion es que si el checkbox esta seleccionado me lo valide si no
no lo valide

Ayuda Muchas gracias

Código HTML:
<form id="form1" name="form1" method="post" action="prueba2.php">
  <table width="200" border="1" align="center">
    <tr>
      <td width="72">Disponible</td>
      <td width="72">Nombre</td>
      <td width="13">Apellido</td>
      <td width="15">Sexo</td>
    </tr>
<?php
for($i=0; $i<=5; $i++)
{
?>
    <tr>
      <td><input name="ckb_seleccionar[<?php echo $i?>]" type="checkbox" id="ckb_seleccionar[<?php echo $i?>]" checked="checked" />
      </td>
      <td>
      <input type="text" name="txt_nombre[<?php echo $i?>]" id="txt_nombre[<?php echo $i?>]" /></td>
      <td>
      <input type="text" name="txt_apellido[<?php echo $i?>]" id="txt_apellido[<?php echo $i?>]" /></td>
      <td>
        <select name="slt_sexo[<?php echo $i?>" id="slt_sexo[<?php echo $i?>">
          <option value="0">--Seleccione--</option>
          <option value="M">M</option>
          <option value="F">F</option>
      </select></td>
    </tr>
<?php
}
?>
  </table><br />
<div align="center">
  <input type="submit" name="btn_validar" id="btn_validar" value="Validar" />
</div>
</form> 
  #2 (permalink)  
Antiguo 28/09/2011, 11:00
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Validar filas de campos

Hola,

Para hacer lo que quieres, con JavaScript, tienes que usar DOM. Sino, tienes que hacerlo con el PHP al hacer el submit. Para hacerlo con JS lo puedes hacer así:

Modifica la cabecera del form por esta:

Código PHP:
<form id="form1" name="form1" method="post" action="prueba2.php" OnSubmit="return validarForm()"
Te paso el código completo con la función que valida lo que quieres. Fíjate que he quitado el PHP para poder testearlo.

Código HTML:
<html>
<head>
<script type="text/javascript">

function validarForm()
{
	var entradas = document.getElementsByTagName("input");
	var i = 0;

	for(i=0; i<entradas.length; i++)
	{
		if(entradas[i].type == "checkbox" && !entradas[i].checked)
		{
			alert("Tienes que marcar la casilla!");
		}
		if(entradas[i].type == "text" && entradas[i].value=="")
		{
			alert("La entrada " +entradas[i].id + "está vacía!");
		}
	}
}

</script>
</head>
<body>

<form id="form1" name="form1" method="post" action="" OnSubmit="return validarForm()">
  <table width="200" border="1" align="center">
    <tr>
      <td width="72">Disponible</td>
      <td width="72">Nombre</td>
      <td width="13">Apellido</td>
      <td width="15">Sexo</td>
    </tr>
    <tr>
      <td><input name="chk1" type="checkbox" id="input2" checked="checked" />
      </td>
      <td>
      <input type="text" name="text1" id="input2" /></td>
      <td>
      <input type="text" name="text2" id="input3" /></td>
      <td>
        <select name="slt1" id="select1">
          <option value="0">--Seleccione--</option>
          <option value="M">M</option>
          <option value="F">F</option>
      </select></td>
    </tr>
  </table><br />
<div align="center">
  <input type="submit" name="btn_validar" id="btn_validar" value="Validar" />
</div>
</form>  


</body>
</html> 

Cualquier cosa vuelve a postear!
Saludos.

Etiquetas: campos, filas, php
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:38.