c# - tipos - Página de ASP.Net ingrese la clave causando la devolución de la publicación
que hace ispostback (6)
Este es el comportamiento predeterminado de una aplicación web, puede tomar uno de los tutoriales que encontró y ocultar ese comportamiento, simplemente abandonando el envío.
Tengo una página aspx que devuelve el correo cuando no debería. Hay dos cuadros de texto, dos cuadros de lista y dos botones en la página. si en cualquier punto se presiona la tecla Intro, al primer botón se le da enfoque y se "hace clic", lo que resulta en una pérdida de selección dentro de los cuadros de lista.
¿Cómo desactivo esto? hay toneladas de tutoriales sobre cómo capturar el botón de entrada y ejecutar un método, pero puedo encontrar uno sobre cómo deshabilitar simplemente la función "Permítame agarrar el primer botón que encuentro y haga clic en él" mencionada anteriormente.
Solo ponga esto en su control de Textbox de ASP.Net:
<asp:TextBox ID="TextBox1" runat="server"
onkeydown = "return (event.keyCode!=13);" >
</asp:TextBox>
Use el siguiente código para deshabilitar la tecla de entrada que causa la devolución de datos. Este fragmento de código bloqueará la tecla de ingreso en todos los navegadores 4.0 anteriores, excepto cuando se presiona ingresar en un Área de texto o en el botón Enviar.
<script language="JavaScript">
var nav = window.Event ? true : false;
if (nav) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
document.onkeydown = MicrosoftEventHandler_KeyDown;
}
function NetscapeEventHandler_KeyDown(e) {
if (e.which == 13 && e.target.type != ''textarea'' && e.target.type != ''submit'') {
return false;
}
return true;
}
function MicrosoftEventHandler_KeyDown() {
if (event.keyCode == 13 && event.srcElement.type != ''textarea'' &&
event.srcElement.type!= ''submit'')
return false;
return true;
}
</script>
estás usando jQuery?
si es así:
$(document).keypress(function(e)
{
if(e.keyCode === 13)
{
e.preventDefault();
return false;
}
});
<body onkeydown = "return (event.keyCode!=13)">
- Puede establecer el DefaultButton en el formulario o en un panel. De esta manera usted tiene el control total de lo que sucede.
- Establezca UseSubmitBehavior = "False" en sus botones. Esto desactiva el "AutoPostback" en Enter.
Preferiría el segundo si quisiera evitar las devoluciones de datos en Enter por completo.