AJAX 表单提交未阻止默认操作
AJAX Form Submit not Preventing Default Action
我已经创建了自己的 AJAX 登录名。但脚本似乎重定向到 php 页面本身,而不是通过 AJAX
提交
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript">
var form = $('#loginform');
form.submit(function (ev) {
ev.preventDefault();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success: function (data) {
alert('ok');
}
});
});
</script>
</head>
<body>
<form method="post" action="functions/fn_login.php" id="loginform">
<input type="email" placeholder="Email / Mobile No." required name="email">
<input type="password" placeholder="Password" required name="password">
<input type="submit" id="submit" value="Submit">
</form>
<div id="user-result"></div>
</body>
</html>
我的代码有什么问题吗?
您忘记等待页面准备就绪。用 $(document).ready(function () { ... });
或 $(function () { ... });
:
包裹你的代码
$(document).ready(function() {
var form = $('#loginform');
form.submit(function(ev) {
ev.preventDefault();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success: function(data) {
alert('ok');
}
});
});
});
试试这个。
jQuery(function($){
var frm = $('#loginform');
frm.submit(function (ev) {
ev.preventDefault();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success: function (data) {
alert('ok');
}
});
return false;
});
});
我已经创建了自己的 AJAX 登录名。但脚本似乎重定向到 php 页面本身,而不是通过 AJAX
提交<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript">
var form = $('#loginform');
form.submit(function (ev) {
ev.preventDefault();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success: function (data) {
alert('ok');
}
});
});
</script>
</head>
<body>
<form method="post" action="functions/fn_login.php" id="loginform">
<input type="email" placeholder="Email / Mobile No." required name="email">
<input type="password" placeholder="Password" required name="password">
<input type="submit" id="submit" value="Submit">
</form>
<div id="user-result"></div>
</body>
</html>
我的代码有什么问题吗?
您忘记等待页面准备就绪。用 $(document).ready(function () { ... });
或 $(function () { ... });
:
$(document).ready(function() {
var form = $('#loginform');
form.submit(function(ev) {
ev.preventDefault();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success: function(data) {
alert('ok');
}
});
});
});
试试这个。
jQuery(function($){
var frm = $('#loginform');
frm.submit(function (ev) {
ev.preventDefault();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success: function (data) {
alert('ok');
}
});
return false;
});
});