关于提交form表单的问题

我建了一个form表单,建了一个提交的按钮,我想用ajax访问数据,根据返回的数据来判断是否要提交表单,可是这个是异步执行,按钮的type设为submit总是会跳转界面,... 我建了一个form表单,建了一个提交的按钮,我想用ajax访问数据,根据返回的数据来判断是否要提交表单,可是这个是异步执行,按钮的type设为submit总是会跳转界面,按钮的type设置为button就不知道该怎么在条件符合的时候提交表单了,用$('#myForm').submit()不行,这个貌似只是修改提交表单时候执行的函数。求指点!!!! 展开
 我来答
梁洋洋001
2015-05-18 · TA获得超过298个赞
知道小有建树答主
回答量:322
采纳率:53%
帮助的人:177万
展开全部
你好!提交按钮type设为button即可,给这个按钮绑定一个点击事件,在事件里面写ajax提交,但是在提交之前需要做验证判断方法就是使用ajax的beforeSend方法,具体可以参考jqeuery手册,这个方法是在ajax执行前执行,你可以在这个方法里面写验证如果不通过返回return false ajax就不会去执行了
更多追问追答
追问
你好,我不是要判断ajax是否需要执行,而是执行完ajax后根据ajax返回的数据来判断是否要提交表单,可是ajax与其他js语句是异步执行的,就是说还没有等到ajax把数据传回来他就已经把表单提交了。。。用submit()也不好使,也不知道具体什么原因。。
追答
首先你要先阻止表单自己去提交两种办法 1、type改成button  2、点击时阻止浏览器默认行为(z具体写法百度) 
阻止了之后开始执行ajax获取到结果判满足提交条件在使用submit提交
dksnear
2015-05-18 · TA获得超过1211个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:620万
展开全部
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
<script src="jquery.js"></script>
<script>

$(function(){

var form = $('#myForm');

// 给form绑定submit事件
form.submit(function(){

// ajax验证
$.ajax({
// 验证url
url:'validate.php',
success:function(data){
//验证成功 提交form表单
form[0].submit();
}
});

return false;

});

});

</script>
</head>
<body>

<!-- action属性设置为提交url -->
<form id="myForm" action="submit.php" method="post">
<input name = "setting" type="text">
<input type="submit">
</form>
</body>
</html>
更多追问追答
追问
您好,我的困惑是我这里.submit()不会提交表单,好像我这里submit()就算没有写参数他也认为我是设置submit事件,而不是提交表单,这是浏览器的原因么?我用的ie9
追答
//这里是使用原始的form对象提交表单 而不是jQuery对象 你试试
form[0].submit();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式