jQuery-jquery .submit函数内无法提交ajax数据
<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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你想做的是在表单提交之前做一些事情,而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>