输入时提交jQuery / AJAX登录表单

我有一个相当简单的登录表单,使用jQuery AJAX请求提交。 目前,提交它的唯一方法是按“登录”按钮,但我希​​望能够在用户按“Enter”时提交表单。

我只使用jQuery AJAX请求完成表单提交,但我不确定我需要做什么修改才能在用户按下“Enter”时提交表单。

HTML:

JavaScript的:

 $(document).ready(function() { $('#login').click(function() { $.ajax({ type: "POST", url: 'admin/login.php', data: { username: $("#username").val(), password: $("#password").val() }, success: function(data) { if (data === 'Correct') { window.location.replace('admin/admin.php'); } else { alert(data); } } }); }); }); 

摘自login.php:

 $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password"); $stmt->execute(array( ':username' => $user, ':password' => $pass )); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); $affected_rows = $stmt->rowCount(); if ($affected_rows == 1) { //add the user to our session variables $_SESSION['username'] = $username; echo ('Correct'); } else { echo 'Incorrect username/password'; } 

在表单中添加ID并将登录按钮转换为提交按钮:

 

然后,而不是使用click事件:

 $('#login').click(function() { 

使用提交事件:

 $('#myform').submit(function() { 
 ​$('form').on('keyup', function(e){ if(e.which == 13 || e.keyCode == 13){ alert('enter pressed'); } });​​ 

HTML

 

JavaScript的:

 $(document).ready(function() { $('#myform').submit(function() { $.ajax({ type: "POST", url: 'admin/login.php', data: { username: $("#username").val(), password: $("#password").val() }, success: function(data) { if (data === 'Correct') { window.location.replace('admin/admin.php'); } else { alert(data); } } }); //this is mandatory other wise your from will be submitted. return false; }); });