He creado un formulario web simple, que contiene un cuadro de texto y un botón. He capturado el evento onblur del cuadro de texto.botón clic evento perdido debido al cuadro de alerta en cuadro de texto evento onblur
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script language="javascript" type="text/javascript">
function onTextBoxBlur()
{
alert("On blur");
return true;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" onblur="onTextBoxBlur();"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
Cuando entro en algún valor en la caja de texto y haga clic en el botón, entonces el evento onBlur del cuadro de texto se produce, pero el onclick del botón no. Y, cuando elimino el cuadro de alerta de la función js, funciona bien. De alguna manera, el clic del botón es el evento se pierde. Creo que se debe a la casilla de alerta. ¿Alguna idea de por qué es esto así?
¿hay alguna solución para esto? –
@Vinod T.Patil: en realidad no. La única "solución alternativa" sería esperar hasta que se complete el clic o evitar el uso de 'alerta'. –
una forma es, haga clic en el botón de llamada explícita, como document.getElementById ("Button1"). Haga clic en() ;, después de la alerta. Funciona. Pero, está bien para esa aplicación de muestra, en la práctica puede haber otros cuadros de texto en el formulario y en ese caso no quisiera que el clic de botón se dispare inmediatamente después de salir del primer cuadro de texto. –