关于提交form表单的问题
我建了一个form表单,建了一个提交的按钮,我想用ajax访问数据,根据返回的数据来判断是否要提交表单,可是这个是异步执行,按钮的type设为submit总是会跳转界面,...
我建了一个form表单,建了一个提交的按钮,我想用ajax访问数据,根据返回的数据来判断是否要提交表单,可是这个是异步执行,按钮的type设为submit总是会跳转界面,按钮的type设置为button就不知道该怎么在条件符合的时候提交表单了,用$('#myForm').submit()不行,这个貌似只是修改提交表单时候执行的函数。求指点!!!!
展开
2个回答
展开全部
你好!提交按钮type设为button即可,给这个按钮绑定一个点击事件,在事件里面写ajax提交,但是在提交之前需要做验证判断方法就是使用ajax的beforeSend方法,具体可以参考jqeuery手册,这个方法是在ajax执行前执行,你可以在这个方法里面写验证如果不通过返回return false ajax就不会去执行了
更多追问追答
追问
你好,我不是要判断ajax是否需要执行,而是执行完ajax后根据ajax返回的数据来判断是否要提交表单,可是ajax与其他js语句是异步执行的,就是说还没有等到ajax把数据传回来他就已经把表单提交了。。。用submit()也不好使,也不知道具体什么原因。。
追答
首先你要先阻止表单自己去提交两种办法 1、type改成button 2、点击时阻止浏览器默认行为(z具体写法百度)
阻止了之后开始执行ajax获取到结果判满足提交条件在使用submit提交
展开全部
<!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();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询