c# - ASP.Net evento de cuadro de texto en blur
asp.net-3.5 (3)
Tengo un cuadro de texto, cuyos valores necesito validar (si el valor del cuadro de texto es 50, luego mostrar el mensaje en lblShowMsg) cuando el usuario salga del cuadro de texto (evento onBlur). Parece que no puedo entender bien la sintaxis.
Tengo este código en mi evento de carga de página:
protected void Page_Load(object sender, EventArgs e)
{
txtCategory.Attributes.Add("onblur", "validate()");
}
Pero parece que no puedo obtener el código javascript correcto. ¿Alguna sugerencia?
¿Es ese el código real en tu carga de página? Debe usar el nombre del control y no el nombre de tipo para TextBox. Por ejemplo, es posible que desee probar:
textBox1.Attributes.Add("onblur", "validate();");
donde "textBox1" es el ID que asignó a la caja de texto en su marca.
Además, desde Javascript, es muy posible que el ID de textBox haya cambiado una vez que se haya procesado en la página. Sería mejor si pasara el control a la función de validación:
function validate(_this)
{
if (_this.value == "50")
// then set the ID of the label.
}
Entonces deberías establecer el atributo así:
textBox1.Attributes.Add("onblur", "validate(this);");
Por último, recomendaría encarecidamente el uso de la biblioteca JQuery si está haciendo algo en Javascript. Te hará la vida 10 veces más fácil.
En el Código detrás: (VB.NET)
En el evento de carga de página
txtAccountNumber.Attributes["onBlur"] = "IsAccNumberValid(" & txtAccountNumber.ClientID & ")";
Donde txtAccountNumber es el ID del TextBox en la página de marcado y usted pasa el ClientID del cuadro de texto porque JavaScript es del lado del cliente y no del lado del servidor. Y ahora en la página de marcas (.aspx) tiene este javascript en la sección de encabezado de la página:
<script type="text/javascript">
function IsAccNumberValid(txtAccountNumber) {
if (txtAccountNumber.value.length < 6) {
alert(txtAccountNumber.value);
}
}
</script>
Esto funciona.
Textbox1.Attributes.Add ("onblur", "javascript: alert (''aaa'');");
Asegúrese de que la función se encuentra en la parte de secuencia de comandos de la página.
Mi página
<script type="text/javascript">
function Validate() {
alert(''validate'');
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="Textbox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>
</html>
código detrás
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Textbox1.Attributes.Add("onblur","Validate();");
}
}