Hola a tod@s,
Escribo esto aquí porque considero que no es necesario abrir otro tema, dado que mi consulta está directamente relacionada con esto.
El asunto es que yo utilizo el script que ha propuesto
emprear (mil gracias), pero yo lo uso en el botón, con el evento onclick porque hay varias opciones, pongo el código y luego lo explico mejor:
El script de
emprear (un poco modificado por los requerimientos):
Código Javascript
:
Ver original<script languaje="javascript">
function verificar_uno(){
var suma = 0;
var checks = document.getElementsByName('ids[]');
for (var i = 0, j = checks.length; i < j; i++) {
if(checks[i].checked == true){
suma++;
}
}
if(suma == 0){
alert('Debes seleccionar un registro');
return false;
}
}
</script>
Un resumen del formulario:
Código PHP:
Ver original<form name="form" id="form" action="proceso.php" method="POST">
<table>
<tr>
<td><input type="checkbox" name="chkall" onclick="sel()"></td>
<td>ID</td>
<td>Nombre</td>
<td>Apellidos</td>
<td varios></td>
<?php
//Aquí hago las consultas para generar la parte dinámica de la tabla
?>
<tr>
<td><input type="checkbox" id="ids" name="ids[]" value="<?php echo $row[0] ?>"></td>
<td><?php echo $row[0] ?></td>
<td><?php echo $row[1] ?></td>
<td><?php echo $row[2] ?></td>
<td varios> </td>
</tr>
<tr>
<td colspan="5">
<blockquote><b>Acciones en Masa:</b></blockquote>
<center>
<input type="submit" name="submit" value="Borrar Usuarios" onclick="javascript:if(confirm('¿Realmente deseas eliminar los registros seleccionados? ')){document.forms['form'].submit();}">
<input type="submit" name="submit" value="Añadir Usuarios">
</div></center><br>
<blockquote><b>Acciones sobre un sólo miembro:</b></blockquote>
<center>
<input type="submit" name="submit" value="Editar Usuario" [COLOR="Green"]onclick="return verificar_uno();"[/COLOR]>
<input type="submit" name="submit" value="Borrar Usuario" onclick="javascript:[COLOR="Red"]return verificar_uno();if(confirm('¿Realmente deseas eliminar el registro seleccionado? ')){document.forms['form'].submit();}else{}[/COLOR]">
<input type="submit" name="submit" value="Añadir Usuario">
</div></center><br>
</td>
</tr>
</table>
</form>
Bien, como podéis ver, es una tabla que se genera con los registros de una base de datos, teniendo cada registro un checkbox para realizar las acciones necesarias.
La parte de validaciones en PHP no hay problema, pero lo que pretendo es también validar mediante JavaScript antes del envío.
Si sólo utilizo la función del script de
emprear, (
lo que he puesto en verde) funciona perfectamente.
El problema es cuando intento utilizar la función junto con otra validación (
lo que está en rojo), ahí me funciona la validación de comprobar que se ha seleccionado un check pero no actúa la otra comprobación (if(confirm('¿Realmente deseas eliminar el registro seleccionado? ')){document.forms['form'].submit();}else{}), es decir, envía el formulario directamente.
No respeta los colores dentro del código pero creo que se entiende igual...
Entonces la pregunta es:
¿Qué puede estar pasando para que sólo actúe la primera validación y cómo se puede resolver?
Agradeceré cualquier ayuda. Muchas gracias por anticipado.