jQuery-jquery .submit函数内无法提交ajax数据

发布于 2017-06-05 08:24:47 字数 680 浏览 1318 评论 1

<form>
<input type="hidden" value="<?php echo $vote['id']?>" name="id">
<input type="hidden" value="<?php echo $token?>" name="token">
</form>
<script type="text/javascript" src="__PUBLIC__/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
<!--
$(function(){
$('form').submit(function(){
//alert($(this).serialize());
$.post('.....',$(this).serialize(),function(data){
alert($(this).serialize());
return false;
});
});
});
//-->
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浮生未歇 2017-08-31 04:58:55

你想做的是在表单提交之前做一些事情,而ajax是一个异步的访问,
就是在执行

$.post('.....',$(this).serialize(),function(data){
alert($(this).serialize());
return false;
});

之后ajax请求还没有返回之前,js继续往下执行了,页面就已经跳转了,原来的页面已经不在了。
第二个写法有问题,在chrome浏览器里面(其他的浏览器没有测试),一个form里面只有一个button并且没有input[type='submit']的时候,浏览器会把这个button的click事件当做外面表单的提交动作,并且你绑定在button上面的submit事件是没有作用的。你试试下面的代码,刚写的demmo,应该可以

<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="http://www.baidu.com">
word:<input name="word">
<input value="查询" type="submit">
</form>
<script type="text/javascript" src="../jq.js"></script>
<script type="text/javascript">
var hascheck = false;
$(function(){
$("form").submit(function(){
if(!hascheck){
$.post("",function(data){
alert(1);
hascheck = true;
$("form").submit();
});
return false;
}else{
return true;
}
});
});
</script>

</body>
</html>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文