我是网络开发的新手,但在传统开发方面拥有多年的经验,例如:在我的带领下使用Java,C和ABAP。
我正在尝试创建一个非常简单的登录功能,但正在努力使用jQuery的$.post()
- 功能。
在下面看到的代码中,在我提交表单alert("test")
之后,$.post()
的数据处理部分中的form_login
- 函数似乎没有被执行。我想问题是我如何将JavaScript函数login_attempt()
与表单form_login
的提交相关联。
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<script src="jquery-2.2.4.min.js"></script>
<script>
function login_attempt(){
$.post("login.php", $("#form_login").serialize(), function(data){alert("test");},html);
}
</script>
</head>
<body>
<h1>Login-Form</h1>
<form id="form_login" method="post" onsubmit="return login_attempt()">
<p><label for="id_username">Username: </label><input id="id_username" name="username" type="text" width="20"></label></p>
<p><label for="id_password">Password: </label><input id="id_password" name="password" type="password" width="10"></label></p>
<p><input type="submit" name="submit_login"></p>
</form>
</body>
</html>
答案 0 :(得分:1)
现在,在提交表单时会触发函数login_attempt
,然后提交表单,因为login_attempt
函数不会告诉表单以常规方式停止提交。因此,在post
方法的实际回调可以执行任何操作之前,页面会重新加载。
添加return false;
作为login_attempt函数的最后一行,告诉表单不应该以常规方式提交。