• Publicidad

Deshabilitar CHECKBOX

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Deshabilitar CHECKBOX

Notapor seafree » 2021-09-03 14:23 @641

¿Qué tal? Necesito deshabilitar los checkbox para que no puedan ser reelegidos y no logro terminarlo. Formo los textbox al consultar a una base de datos:

FORMACIÓN DE LA SELECCIÓN MÚLTIPLE:
print<<"html";
<div class="multipleSelection" align="left";>
<div class="selectBox"
onclick="showCheckboxes()">
<select>
<option>RELACI&Oacute;N DE ALARMAS</option>
</select>
<div class="overSelect"></div>
</div> <!-- <div class="selectBox" -->
<div id="checkBoxes">
html
while(my $ref_alarm = $sth->fetchrow_hashref()) {
($gabinete)=$ref_alarm->{'gabinete'};
($alarma)=$ref_alarm->{'descrip_alarma'};
print "<input type='checkbox' name='alarma' id='alarma' value='$alarma' onclick='alarma_sel(this.value);alarma_reg(this.value);'/>$alarma</input>";
print "<br>";
}
print "<td><div><textarea name='ver_alarmas' id='ver_alarmas' rows='4' cols='50' placeholder='ALARMAS OPERADAS....' readonly/></textarea></td>";
print "</div>"; #<!-- <div id="checkBoxes"> -->
print "</div>"; #<!-- <div class=selectBox -->

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
CON JAVASCRIPT SELECCIONO LAS OPCIONES LA CUALES SE ADICIONAN A UN TEXTBOX
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<script>
var show = true;
var salto = false;
var alarma_operada;
alarma_operada= "";

function showCheckboxes() {
var checkboxes =
document.getElementById("checkBoxes");

if (show) {
checkboxes.style.display = "block";
show = false;
} else {
checkboxes.style.display = "none";
show = true;
}
}

function alarma_sel(p_alarma) {
//Get the checkbox
var CHECKbox= p_alarma;
alert ('ESTOY SELECCCIONADA!!!! ' +CHECKbox);
document.getElementById("CHECKbox").disabled=true; //CON ESTA INSTRUCCION SE DEBE
DESHABIITAR EL CHECKBOX PARA QUE NO VUELVA A SER SELECCIONADO PERO NO SE
DESHABILITA

}


function alarma_reg(p_alarma) {
//Get the checkbox
alarma_operada+=p_alarma;
alarma_operada+= ', ';
document.getElementById("ver_alarmas").value=alarma_operada;
}
</script>

Agradeceré vuestro apoyo para continuar.
Enormes Gracias.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Publicidad

Re: Deshabilitar CHECKBOX

Notapor explorer » 2021-09-03 15:42 @696

Por lo que veo en
https://www.w3schools.com/jsref/tryit.a ... _disabled2

es correcta la forma de deshabilitar los cajas de control. Lo que resta por hacer es que el usuario envíe el formulario para que tu cgi tome note de los cambios y los almacene en la base de datos.

Otra forma más elaborada es crear un evento Ajax que llame a tu cgi cada vez que el usuario des/habilita un control. Con bibliotecas como JQuery simplifica ese trabajo, pero aún más sencillo es la primera opción: que el usuario envíe el formulario con todos los cambios.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Deshabilitar CHECKBOX

Notapor seafree » 2021-09-29 11:46 @532

¿Qué tal, Explorer? Sí había un error:

print "<input type='checkbox' name='alarma' id='alarma' value='$alarma'
onclick='alarma_reg(this.value);'/>$alarma</input>";

El id siempre era alarma. Lo cambié por $alarma y ahora sí, el valor corresponde a la alarma seleccionada, PERO sigue sin poner en disable el checkbox:

function alarma_reg(alarma) {
alarma_operada+=alarma + ',';
document.getElementById("ver_alarmas").value=alarma_operada
document.getElementById("alarma").disabled = true; //NO DESHABILITA EL CHECKBOX
}

Lo más probable es que utilice el jQuery pero la instrucción de javascript es:

document.getElementById("alarma").disabled = true;

Debería desactivar el checkbox por que estoy haciendo uso del evento onclick.

Agradeceré tu aclaración porque no encuentro la razón.

Respetos, explorer.
Gracias
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: Deshabilitar CHECKBOX

Notapor seafree » 2021-09-29 12:07 @546

He dado algo de batalla con ésto pero ya quedó :)

Gracias.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: Deshabilitar CHECKBOX

Notapor explorer » 2021-09-29 13:09 @589

¿Encontraste el fallo? ¿Cuál era? ¿Puedes poner el código arreglado? Es por completar el hilo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados