javascript - validacion - ¿Cómo determino si una casilla de verificación está marcada?
validar select javascript (8)
Por alguna razón, mi formulario no quiere obtener el valor de una casilla de verificación ... No estoy seguro de si es mi codificación o no, pero cuando intento y alert()
el valor, como resultado undefined
me undefined
. ¿Qué tengo mal?
<head>
<script>
var lfckv = document.getElementById("lifecheck").checked
function exefunction(){
alert(lfckv);
}
</script>
</head>
<body>
<label><input id="lifecheck" type="checkbox" >Lives</label>
</body>
EDITAR
Intenté cambiarlo a esto
function exefunction() {
alert(document.getElementById("lifecheck").checked);
}
Pero ahora ni siquiera quiere execute
. ¿Qué está mal?
Coloque el var lfckv
dentro de la función. Cuando se ejecuta esa línea, el cuerpo aún no se analiza y el elemento "lifecheck"
no existe. Esto funciona perfectamente bien:
<html>
<head>
<script language="javascript" type="text/javascript">
function exefunction(){
var lfckv = document.getElementById("lifecheck").checked;
alert(lfckv);
}
</script>
</head>
<body>
<label><input id="lifecheck" type="checkbox" >Lives</label>
<button onclick="exefunction()">Check value</button>
</body>
</html>
Está intentando leer el valor de su casilla de verificación antes de que se cargue. La secuencia de comandos se ejecuta antes de que la casilla de verificación exista. Debe llamar a su secuencia de comandos cuando se carga la página:
<body onload="dosomething()">
Ejemplo:
http://jsfiddle.net/jtbowden/6dx6A/
También te falta un punto y coma después de tu primera asignación.
La línea donde define lfckv se ejecuta cada vez que el navegador la encuentra. Cuando lo coloca en el encabezado de su documento, el navegador intenta encontrar el identificador de vida antes de que se cree el elemento de verificación de vida. Debe agregar su secuencia de comandos debajo de la entrada de verificación de vida para que su código funcione.
Puede usar este código, puede devolver true
o false
:
$(document).ready(function(){
//add selector of your checkbox
var status=$(''#IdSelector'')[0].checked;
console.log(status);
});
intente aprender jQuery , es un gran lugar para comenzar con javascript y realmente simplifica su código y ayuda a separar su js de su html. incluya el archivo js del CDN de Google (https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js)
Luego, en su etiqueta de secuencia de comandos (todavía en el <head>
) use:
$(function() {//code inside this function will run when the document is ready
alert($(''#lifecheck'').is('':checked''));
$(''#lifecheck'').change(function() {//do something when the user clicks the box
alert(this.checked);
});
});
var elementCheckBox = document.getElementById("IdOfCheckBox");
elementCheckBox[0].checked //return true if checked and false if not checked
Gracias
<!doctype html>
<html lang="en">
<head>
</head>
<body>
<label><input class="lifecheck" id="lifecheck" type="checkbox" checked >Lives</label>
<script type="application/javascript" >
lfckv = document.getElementsByClassName("lifecheck");
if (true === lfckv[0].checked) {
alert(''the checkbox is checked'');
}
</script>
</body>
</html>
Entonces, después de agregar eventos en javascript, se verá afectado el evento dinámico con la casilla de verificación.
Gracias
<!DOCTYPE html>
<html>
<body>
<input type="checkbox" id="isSelected"/>
<div id="myDiv" style="display:none">Is Checked</div>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(''#isSelected'').click(function() {
$("#myDiv").toggle(this.checked);
});
</script>
</html>