Hola de nuevo,
Te pido disculpas por la respuesta anterior @emprear, estaba aún un poco dormido y no se me había ocurrido "discurrir" cómo adaptar tus enseñanzas a mis necesidades, por eso, ahora que estoy ya despierto del todo, me respondo a mi mismo y dejo aquí el código por si le sirve a alguien, conste que está todo basado en lo que inicialmente aportaste, @emprear (un millón de gracias)
Cita:
Iniciado por emprear
Código HTML:
Ver original<!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"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script languaje="javascript">
function verificar_uno(param){
var cuales = param;
var suma = 0;
var marcando;
var checks = document.getElementsByName('ids[]');
for (var i = 0, j = checks.length; i < j; i++) {
// sumar los marcados
if(checks[i].checked == true){
suma++;
}
// marcar desmarcar todos (la función recibe un parámetro
if(cuales == 'todos'){
checks[i].checked = true;
marcando = 1; // ponemos marcando en 1 para saber que no nos interesa procesar el form por ahora
}
if(cuales == 'nada'){
checks[i].checked = false;
marcando = 1;
}
}
if(marcando != 1){
// si no sumo suma = 0, entonces
if(suma == 0){
alert('Debes seleccionar un registro');
return false;
}else{
//Confirmación para uno o varios
if(suma == 1){
var texto = 'el usuario seleccionado';
}else{
var texto = 'los usuarios seleccionados';
}
var pregunta = confirm("¿Realmente deseas eliminar " + texto +"?")
if(pregunta){
// no haces nada y el form se procesa
}else{
alert('Operación cancelada');
// cancelas el envío
return false;
}
}
}
}
<form name="form" id="form" action="proceso.php" method="POST" onsubmit="return verificar_uno()">
<td>marcar todos
<input type="radio" name="marcar" id="todos" onclick="verificar_uno(this.id)">desmarcar todos
<input type="radio" name="marcar" id="nada" onclick="verificar_uno(this.id)"> </td>
<?php
//Aquí hago las consultas para generar la parte dinámica de la tabla
?>
<td><input type="checkbox" id="ids" name="ids[]" value="<?php echo $row[0] ?>">
</td> <td><input type="checkbox" id="ids2" name="ids[]" value="<?php echo $row[0] ?>">
</td>
<center>
<input type="submit" name="submit" value="Eliminar seleccionados"> <input type="submit" name="submit" value="Añadir Usuario">
Código Javascript
:
Ver originalfunction 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;
}
}
function verificar_varios(){
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 < 2){
alert('Debes seleccionar al menos 2 registros');
return false;
}
}
function verificar_borrar_uno(param){
var cuales = param;
var suma = 0;
var checks = document.getElementsByName('ids[]');
for (var i = 0, j = checks.length; i < j; i++) {
// sumar los marcados
if(checks[i].checked == true){
suma++;
}
}
// si no sumo suma = 0, entonces
if(suma == 0){
alert('Debes seleccionar un registro');
return false;
}else{
//Confirmación para uno o varios
if(suma == 1){
var texto = 'el usuario seleccionado';
}else{
var texto = 'los usuarios seleccionados';
}
var pregunta = confirm("¿Realmente deseas eliminar " + texto +"?")
if(pregunta){
// no haces nada y el form se procesa
}else{
// cancelas el envío
return false;
}
}
}
function verificar_borrar_varios(param){
var cuales = param;
var suma = 0;
var checks = document.getElementsByName('ids[]');
for (var i = 0, j = checks.length; i < j; i++) {
// sumar los marcados
if(checks[i].checked == true){
suma++;
}
}
// si no sumo suma = 0, entonces
if(suma < 2){
alert('Debes seleccionar al menos 2 registros');
return false;
}else{
//Confirmación para uno o varios
if(suma == 1){
var texto = 'el usuario seleccionado';
}else{
var texto = 'los usuarios seleccionados';
}
var pregunta = confirm("¿Realmente deseas eliminar " + texto +"?")
if(pregunta){
// no haces nada y el form se procesa
}else{
// cancelas el envío
return false;
}
}
}
Y luego llamo a las diferentes funciones (que más que diferentes son casi iguales) desde cada botón, dependiendo de la acción que vaya a realizar:
Código PHP:
Ver original<td colspan="15">
<blockquote><b>Acciones en Masa:</b></blockquote>
<center>
<input type="submit" name="submit" value="Borrar Usuarios" onclick="return verificar_borrar_varios()">
<input type="submit" name="submit" value="Añadir al rotador" onclick="return verificar_varios();">
</center><br>
<blockquote><b>Acciones sobre un sólo miembro:</b></blockquote>
<center>
<input type="submit" name="submit" value="Editar Usuario" onclick="return verificar_uno();">
<input type="submit" name="submit" value="Borrar Usuario" onclick="return verificar_borrar_uno()">
<input type="submit" name="submit" value="Añadir Usuario" onclick="return verificar_uno();">
</center>
</td>
Esto seguro se puede depurar y mejorar, pero yo no lo se hacer... Pero por lo menos me ha servido para aprender un poco más y conseguir lo que necesitaba.