div加jquery实现iframe标签的功能

简介:

 由于最近项目需要,前端后台都完全采用div+css的方式布局。因而左思右想,有什么办法可以替代常用的iframe上下左右的布局方式,而且页面只是局部刷新。参考了许多前辈的资料,并加以整理,因而有了以下的方法。

  需求:

    1、由于是全局的div+css,由于每次提交的内容都会有所差异。

    2、每个提交都会用到,因而需要一个通用方法。

    3、返回的是html内容,因而需要指定一个显示区域

  因而写一个可复用的方法就显得尤为重要了,因而有了以下的方法。上码:

复制代码
/**
 * [btnsubmit 提交url并返回html]
 * @param  {[type]} btnid    [操作ID]
 * @param  {[type]} linkattr [提交url链接]
 * @param  {[type]} disid    [返回内容的显示区域ID]
 * @param  {[type]} prams    [提交参数列表(根据id获取),多个时用"--"分割]
 * @return {[type]}          [description]
 */
function btnsubmit(btnid, linkattr, disid, prams){
    //console.log('btnid==========' + btnid);
    var $this = $('#' + btnid);
    $this.attr('disabled', 'true');
    $('.pagecontentheader button').attr('disabled', 'true');
    _clickTab = $this.attr(linkattr); // 找到链接a中的targer的值
    
    var prams_data = '';
    var prams_val = new Array();
    //console.log($this.prop('tagName') + '===========prams==========' + _clickTab);
    if(prams.length != 0){
        var prams_arr = prams.split('--');
        var prams_str = '';
        //console.log(prams_str + '===========22222==========');
        for(var i = 0; i < prams_arr.length; i++){
            var tagName = $('#' + prams_arr[i]).prop('tagName');
            var pramval = '';
            //console.log(tagName + '===========tagName==========');
            if('SELECT' == tagName){
                pramval = $('#' + prams_arr[i] + " option:selected").text();
                //console.log(tagName + '===========prams_str==='+'#' + prams_arr[i] + " option:selected"+'=======' + pramval);
            }else{
                pramval = $('#' + prams_arr[i]).val();
            }
            
            prams_str = '"' + prams_arr[i] + '":"' + pramval + '"';
            prams_val.push(prams_str);
        };
    }
    var prams_data = "{" + prams_val.join(",") + "}";
    prams_data = $.parseJSON(prams_data);//将字符串转成json格式的对象
    //console.log(linkattr + '===========href==========' + prams_data);
    if(_clickTab){
        $.post(_clickTab,
            prams_data,
            function(data){
                $("#" + disid).html(data);
            }
        );
    }
}
复制代码

注意:prams参数如果有换行符等特殊字符需要自行处理。

调用方式:

<button type="button" class="btn btn-default shiny" id="getRemark" target="__CONTROLLER__/remark" onclick="btnsubmit('getRemark', 'target', 'page-content', 'reservation')">更新备注</button>
<a id="linkOrderLst" target="__CONTROLLER__/lst" onclick="btnsubmit('linkOrderLst', 'target', 'page-content', '')">订单列表</a></li>

许多地方还考虑不周,你有更好的处理方式吗?请告诉我。。。






本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4491752.html,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
JavaScript
jQuery遍历div,判断是否为空,为空时执行某个操作
jQuery遍历div,判断是否为空,为空时执行某个操作
|
5月前
|
JavaScript
jQuery实现判断li的个数从而实现其他功能
jQuery实现判断li的个数从而实现其他功能
|
5月前
|
JavaScript 前端开发
jQuery第一天---六大功能的简单应用
jQuery第一天---六大功能的简单应用
56 0
|
5月前
|
JavaScript
用JQuery实现选中select里面的option显示对应的div
用JQuery实现选中select里面的option显示对应的div
|
1月前
|
XML JavaScript 前端开发
jQuery获取所有标签
【9月更文挑战第2天】
|
4月前
|
开发框架 JavaScript 前端开发
技术经验解读:从零开始学习jQuery(十)jQueryUI常用功能实战
技术经验解读:从零开始学习jQuery(十)jQueryUI常用功能实战
37 0
|
4月前
|
JavaScript 前端开发 索引
jQuery如何实现一个轮播图左右翻页的功能
jQuery如何实现一个轮播图左右翻页的功能
40 0
|
5月前
|
JavaScript
jQuery最简单的留言功能^-^
jQuery最简单的留言功能^-^
|
5月前
|
JavaScript
jquery实现单击div切换背景,再次单击回到原来样式
jquery实现单击div切换背景,再次单击回到原来样式
|
5月前
|
JavaScript 前端开发
原生js与jQuery显示隐藏div的几种方法
原生js与jQuery显示隐藏div的几种方法
80 0