【发布时间】:2011-05-29 07:50:07
【问题描述】:
我有一个带有许多按钮的 aspx 页面,并且我有一个搜索按钮,我希望在用户按下 Enter 时触发其事件。 我该怎么做?
【问题讨论】:
-
对于其他来这里的人,这个问题线程可能更有用。 stackoverflow.com/questions/7020659/…
我有一个带有许多按钮的 aspx 页面,并且我有一个搜索按钮,我希望在用户按下 Enter 时触发其事件。 我该怎么做?
【问题讨论】:
您设置表单默认按钮:
<form id="Form1"
defaultbutton="SubmitButton"
runat="server">
【讨论】:
使其成为表单或面板的默认按钮。
其中任何一个都有 DefaultButton 属性,您可以将其设置为想要的按钮。
【讨论】:
$(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;}
调用上述函数,它将帮助您检测回车键和 而不是调用你的 post 方法。
【讨论】:
最好的方法是使用输入按钮和点击按钮进行操作,而无需编写 js 检查您的每个输入是否用户按下输入是否使用submit 输入类型。
但是您会面临onsubmit 无法与asp.net 一起使用的问题。
我用很简单的方法解决了。
如果我们有这样的表格
<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>
您现在可以在表单回发之前捕获该事件并停止回发并使用此 jquery 执行您想要的所有 ajax。
$(document).ready(function () {
$("#login-btn").click(function (event) {
event.preventDefault();
alert("do what ever you want");
});
});
【讨论】: