关于Jquery 获取表单FORM所有元素进行AJAX提交

2019-11-06 952 阅读 0评论

    前提交代:


    获取 表单FROM所有的元素可以采用var a = $('#form_id').serializeArray() 进行获取;


    var form_data = $.serializeArray() 获取的数据以对象结构返回,如:


    { [‘name’='a', 'value'='1'], [‘name’='b', 'value'='2'] }

    注意:$.serializeArray() 会过滤掉 被禁用的 元素


    form_data 对象用 $.each 进行分解


    var m = [];

    $.each(x, function(i, field){

    m.push('"' + field.name + '":"' + encodeURI(field.value) + '"');

    });

    下面看一下实例:

    HTML




    < form method="post" id="F_id" enctype="multipart/form-data">

    < input type="file" id="ar_img" name="ar_img" accept="image/*" >
    < textarea id="ar_content" name="ar_content" style="width:100%;height:300px;">

    < / form>




    脚本

    // 取得指定FORM里的元素

    var x = $('#F_id').serializeArray(),

    var m = [], idata;

    // 按 AJAX数据格式归入数组,方便后面的数据打包

    $.each(x, function(i, field){

    // 由于会出现"双引号字符会导致接下来的数据打包失败,故此对元素内容进行encodeURI编码

    // 后台PHP采用urldecode()函数还原数据

    m.push('"' + field.name + '":"' + encodeURI(field.value) + '"');

    });

    idata ='{' +  m.join(',') + '}';

    // 按字符 idata 转换成 JSON 格式

    idata = eval('(' +idata+ ')');


    $.getJSON(url, idata, function(data){

    /* 处理 ajax 返回结果,这个根据自己的需要编写 */

    });


    2017-07-01 添加另一个方式,比较效率:(原来还有个JSON可以直接处理的)


    var params = $("#F_id").serializeArray();

    var values = {};

    for( x in params ){

    values[params[x].name] = params[x].value;

    }

    var idata = JSON.stringify(values)

    );

    注:


    //processData: false,  // 告诉jQuery不要去处理发送的数据,注:使用serializeArray(),要设置为true 
    //contentType: false,   // 告诉jQuery不要去设置Content-Type请求头,注:serialize(),要设置为true


喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 952人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表