2010-12-22 20 views
8

Tengo una página aspx con muchos botones y tengo un botón de búsqueda cuyo evento deseo que se active cuando el usuario presione enter. ¿Cómo puedo hacer esto?Enviar formulario cuando se presiona Entrar

+0

Para otros que vienen aquí, este hilo de pregunta puede ser más útil. https://stackoverflow.com/questions/7020659/submit-form-using-a-button-outside-the-form-tag –

Respuesta

16

configura el botón predeterminado formas:

<form id="Form1" 
    defaultbutton="SubmitButton" 
    runat="server"> 
+3

¡Pero el formulario que uso está en la página maestra! –

+2

Pruebe this Page.Form.DefaultButton = "Button1" –

+2

Le recomiendo que investigue esto también, "this.Form.DefaultButton = this.ibRecalc.UniqueID;" http://stackoverflow.com/questions/3614797/asp-net-master-page-defaultbutton-override – dps

5

lo convierten en el botón predeterminado de la forma o en el panel.

Cualquiera de los dos tiene una propiedad DefaultButton que puede establecer en el botón deseado.

0
$(document).ready(function() { 

$("#yourtextbox").keypress(function(e) { 
     setEnterValue(e); 
    }); 
}); 

function setEnterValue(e) { 
var key = checkBrowser(e); 
if (key == 13) { 
//call your post method 
} 


function checkBrowser(e) { 
if (window.event) 
    key = window.event.keyCode;  //IE 
else 
    key = e.which;  //firefox 
return key;} 

llamada de la función anterior y que le ayudará en la detección de la tecla enter y que llame a su método de post.

0

La mejor manera de realizar acciones usando el botón enter y al hacer clic en el botón sin dolor de cabeza para escribir js compruebe cada entrada que tenga si el usuario presiona enter o no está usando submit tipo de entrada.

Pero usted se enfrentaría al problema de que onsubmit no funcionaría con asp.net.

Lo resolví de una manera muy fácil.

si tenemos una forma tal

<form method="post" name="setting-form" > 
    <input type="text" id="UserName" name="UserName" value="" 
     placeholder="user name" > 
    <input type="password" id="Password" name="password" value="" placeholder="password" > 
    <div id="remember" class="checkbox"> 
    <label>remember me</label> 
    <asp:CheckBox ID="RememberMe" runat="server" /> 
    </div> 
    <input type="submit" value="login" id="login-btn"/> 
</form> 

Ahora puede coger conseguir ese caso, antes de la forma de devolución de datos y evitar que la devolución de datos y hacer todo el Ajax desea utilizar este jQuery.

$(document).ready(function() { 
      $("#login-btn").click(function (event) { 
       event.preventDefault(); 
       alert("do what ever you want"); 
      }); 
}); 
Cuestiones relacionadas