jQuery.post提交表单在IE无法获取

zhiya2008 2011-12-03 12:01:53
先上代码

/* 登录表单验证*/
$('#login').validate(
{
errorClass: "error",
rules:{
logname:{required: true},
logpw:{required: true}
},
messages:{
logname:{required:"账号不能为空"},
logpw:{required:"密码不能为空"}
},
submitHandler: function(form)
{
var params = $('#login').serialize();
alert(params); //关键地方,IE浏览器加上这句之后就能获取到传入的参数,没加的话获取的参数值都为NULL
jQuery.post('login',params,function(r){
var result = jQuery.parseJSON(r);
if(result.success == "true")
alert("success");
else
{
alert("fail");
}
})
}
}
);

,
求大神指点,我用的是jquery.validate.min.js的表单插件,在提交表单的时候,FF和CHROM都能正常运行,但是在IE下,后台获取前台传入的参数确实NULL,但是在加上alert(params);之后,却可以正常获取到前台传入的值,这个是什么原因啊,弄了半天都不知道啥原因,跪求大神解决
...全文
396 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
MuBeiBei 2011-12-03
  • 打赏
  • 举报
回复
<script>
$('#login').validate(
{
errorClass: "error",
rules:{
logname:{required: true},
logpw:{required: true}
},
messages:{
logname:{required:"账号不能为空"},
logpw:{required:"密码不能为空"}
},
submitHandler: function(form)
{
var params = $('#login').serialize();
setTimeout(function(){
jQuery.post('login',params,function(r){
var result = jQuery.parseJSON(r);
if(result.success == "true")
alert("success");
else
{
alert("fail");
}
})
},3000)
}
}
);
</script>


改成这样试试~·
MuBeiBei 2011-12-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhiya2008 的回复:]

引用 1 楼 mubeibei 的回复:

JScript code
<script>
$('#login').validate(
{
errorClass: "error",
rules:{
logname:{required: true},
logpw:{required: true}
},
……

大神,果断行了,太神奇了,这是为什么啊?万分感谢解决了我的苦恼啊
……
[/Quote]

需要延迟加载一下post方法~·

setTimeout设置3秒后执行post方法就行了~·
zhiya2008 2011-12-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mubeibei 的回复:]

JScript code
<script>
$('#login').validate(
{
errorClass: "error",
rules:{
logname:{required: true},
logpw:{required: true}
},
……
[/Quote]
大神,果断行了,太神奇了,这是为什么啊?万分感谢解决了我的苦恼啊

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧