1

还有另一种编写此代码的方法吗?我认为这有点不专业和混乱

基本上代码通过“输入键”和鼠标“单击”提交表单,所以还有另一种方法吗?

$("#form-signup-login input#login-submit").click(function()
{
    doLogin();
});
$('input#login-request-username-email, input#login-request-password').keyup(function(e){
    if(e.keyCode == 13)
        doLogin();
});

谢谢你的时间!

4

4 回答 4

3

您是否正在寻找submit事件处理程序?http://api.jquery.com/submit/

于 2012-06-24T10:01:31.267 回答
0
$("#login-submit").click(doLogin);

$('#login-request-password').keyup(function(e){
    if(e.keyCode === 13)
        doLogin();
});

解释:

  1. 无需为容器添加 id 选择器,因为它们在页面上是唯一的,您将回getElementById退到比 Sizzle 引擎更快的本机方法。
  2. 您可以在第一种情况下使用函数指针,无需构建另一个回调函数
  3. 我只会在密码字段而不是用户名字段上绑定 keyup 事件,因为那里有一个自然流程

或者绑定表单提交,默认情况下会为您处理所有这些。

$("#form-signup-login").submit(doLogin);
于 2012-06-24T09:59:59.650 回答
0

看起来您想在提交时执行此操作:为什么不使用:

$("#form-signup-login").on("submit", function() {
    doLogin();
    return false;
});

其中 id 是表单的 ID,而不是任何输入。

于 2012-06-24T10:03:47.980 回答
0
$("#form-signup-login").submit(function (ev){
  // Do not let the browser handle the submit action
  ev.preventDefault();
  // Execute your custom submit function
  doLogin();
});

瞧!

于 2012-06-24T10:11:04.910 回答