protected void btnSubmit_Click(object sender, EventArgs e) { imgPurple.Visible = true; }Por ahora, puedo hacer que aparezca imgPurple después de hacer clic en btnSubmit. Sin embargo, eso no es lo que quiero.
Quiero que aparezca imgPurple cuando marque una casilla de verificación, no un botón. ¿Cómo logro eso?
¿Tiene AutoPostBack establecido en verdadero? El botón que probó generará una devolución de datos, pero un cambio de casilla de verificación no lo hará de manera predeterminada. Esto funciona:
<asp:CheckBox ID="CheckBox1" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged" runat="server" />Con lo siguiente:
protected void CheckBox1_CheckedChanged(object sender, EventArgs e) { imgPurple.Visible = true; }No soy un experto en C# o .NET (si ese es el lenguaje que es), pero si compara los valores anteriores con los valores actuales y no son iguales, entonces han cambiado.
Así que guarde el estado anterior en un objeto y compare ese objeto con el estado actual.
Otra nota, dado que no está usando un botón como objetivo del evento, probablemente querrá usar algo como lo que sugirió @Bobney como controlador de eventos como OnCheckedChanged en lugar de BtnSubmit_Click.
HTML con JavaScript:
<html> <head> <script> function showPic() { if (document.getElementById("myCb").checked === true) { //document.getElementById("myPic").style.display = "inline"; document.getElementById("myPic").style.visibility = "visible"; } else { //document.getElementById("myPic").style.display = "none"; document.getElementById("myPic").style.visibility = "hidden"; } } </script> </head> <body onload="showPic();"> <input id="myCb" type="checkbox" onclick="showPic();" /><br /> <br /> <img id="myPic" src="myPic.png" alt="myPic" /> </body> </html>