mingyunyuziyou

ajaxSubmit()提交表单

作者: 秒速五厘米     
 


1.表单提交


submit() 方法触发 submit 事件,或规定当发生 submit 事件时运行的函数。$(selector).submit(function)


使用 preventDefault() 函数来阻止对表单的提交。


ajaxSubmit()提交表单,使用第三方插件jquery.form实现;


通常情况下,我们直接通过form提交的话, 提交后当前页面跳转到form的action所指向的页面。然而,很多时候我们比不希望提交表单后页面跳转,那么,我们就可以使用ajaxSubmit(obj)来提交数据。


$('button').on('click', function() {
    $('form').on('submit', function() {
        var title = $('inpur[name=title]').val(),
            content = $('textarea').val();
        $(this).ajaxSubmit({
            type: 'post', // 提交方式 get/post
            url: 'your url', // 需要提交的 url
            data: {
                'title': title,
                'content': content
            },
            success: function(data) { // data 保存提交后返回的数据,一般为 json 数据
                // 此处可对 data 作相关处理
                alert('提交成功!');
            }
            $(this).resetForm(); // 提交后重置表单
        });
        return false; // 阻止表单自动提交事件,必须返回false,否则表单会自己再做一次提交操作,并且页面跳转

    });
});


如果要提交之后返回数据再触发ajax异步交互(实际就是一个按钮触发两个事件,后一个事件要等前一个事件完成的情况才触发)


 

$("#uploadImage").on("submit",function () { //触发form表单提交,url写在form标签
    $("#uploadImage").ajaxSubmit(options); // form表单提交后触发
    return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转
});
var options = {
    //target: '#picSrc',          //把服务器返回的内容放入id为picSrc的元素中
    //beforeSubmit: function({
                }),  //提交前的回调函数
    success:function (backData) { //提交后的回调函数

        var sendData={
            "srcImageFile":backData.serviceIcon,
            "result":backData.serviceIcon,

        };
        $.ajax({
            url:"/Wisdom/smartCampus/service/cutPicture",//交互地址
            type:"post",//方法
            //dataType:"json",
            contentType:"application/json",//头部
            data:JSON.stringify(sendData),//数据
            success:function (backData) {
                $("#uploadImage").resetForm();//重置表单

            }
        })
    },
    timeout: 3000               //限制请求的时间,当请求大于3秒后,跳出请求
};