Form表单提交之后,获取返回值
经常用form表单提交的小伙伴有没有发现,form表单默认的提交是没有返回值的,而且默认提交成功之后是跳转,跳转的action的路径,下面写一下默认的提交如何获取到form表单的返回值json,并且阻止默认的跳转动作。第一种方式 :让form默认调整当前的iframe 即可页面结构见下面:<form target="form" action="" enctype="multipart/for
经常用form表单提交的小伙伴有没有发现,form表单默认的提交是没有返回值的,而且默认提交成功之后是跳转,跳转的action的路径,下面写一下默认的提交如何获取到form表单的返回值json,并且阻止默认的跳转动作。
第一种方式 :让form默认调整当前的iframe 即可
页面结构见下面:
<form target="form" action="" enctype="multipart/form-data" method="post">
<input type="file">
<button type="submit" id="submit" style="display:none">提交</button>
</form>
<iframe name="form" id="form" style="display:none"></iframe>
细心的小伙伴有没有发现上面的结构多了一个iframe的隐藏内联框架,其实最主要的就是我们的form表单的target属性值等于这个iframe的name和id,那么我们就可以用iframe来接收返回值,并且把默认的跳转让iframe去跳转,下面是js的代码,来获取这个返回值json。
$("#submit").click();
$("#form").load(function(){
var text = $(this).contents().find("body").text(); //获取到的是json的字符串
var j = $.parseJSON(text); //json字符串转换成json对象
console.log(j)
})
注意,只要这个iframe框架加载完成就说明发送成功了。
第二种:引入 引用jquery-form.js文件
1.给form添加id值:
<form action="/News/SaveMessage" method="post" accept-charset="utf-8" class="form" id="frm-reg" name="frm-reg">
设置所有input标签的name属性值为数据库的字段值,即可以传值到后台
2.给提交按钮添加id值:
<input class="sub-btn fl" type="button" id="sub" name="Submit" value="提交">
3.引用jquery-form.js文件
4.jquery表单提交:
//表单提交,会把所有有name属性的值提交到后台
$("#sub").click(function () {
$("#frm-reg").ajaxSubmit(function (data) {
alert(data.Message);
});
});
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)