由于最近项目需要,前端后台都完全采用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>

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

div加jquery实现iframe标签的功能的更多相关文章

  1. django2 用iframe标签完成 网页内嵌播放b站视频功能

    前言: 给自己的网站中加入视频资源,有两种方法,一种是用iframe标签引用外站资源,另一种则使用video标签,获取站内资源进行视频播放.其中前者顾名思义,是将视频资源上传到视频网站中,然后通过引用 ...

  2. 关于 <script type='text/template' > 的妙用 / 使用jquery获取iframe加载完成事件

    https://www.cnblogs.com/ddqyc/p/6200539.html <!DOCTYPE html> <html> <head> <met ...

  3. 用html给div加类似a标签的超链接(转)

    今天项目中遇到用html给div加类似a标签的超链接,回想半天,万幸还是想出来了. 分享一下啊: 1.通过window.open函数 <div onclick="window.open ...

  4. 解析Jquery取得iframe中元素的几种方法

    iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下   DOM方法:父窗口操作IFRAME:window.frames[&q ...

  5. 如何用iframe标签以及Javascript制作时钟?

    如何利用iframe标签以及Javascript制作时钟? 如何制作一个时钟呢?效果如下图所示: 这里的时钟会不停的走,但是下面的页面是不会变得,这样就实现了我们想要的效果了.下面我将分为以下几个方面 ...

  6. jquery ZeroClipboard实现黏贴板功能,兼容所有浏览器

    两天前听了一个H5的分享,会议上有一句话,非常有感触:不是你不能,而是你对自己的要求太低.很简单的一句话,相信很多事情不是大家做不到,真的是对自己的要求太低,如果对自己要求多一点,那么你取得的进步可能 ...

  7. jquery操作iframe

    query取得iframe中元素的几种方法 在iframe子页面获取父页面元素 代码如下: $('#objId', parent.document); // 搞定... 在父页面 获取iframe子页 ...

  8. iframe标签flash遮盖页面元素问题——wmode参数

    最近做项目过程中,遇到各种小问题,所以打算通过博客园来记录各问题的解决办法. 这篇的问题背景是这样子的:项目是用的AngularJS框架,在某个页面上用了wangEditor富文本编辑器插件(gith ...

  9. 【Egret】里使用iframe标签达到内嵌多个web界面

    目的:Egret里使用iframe标签达到内嵌多个web界面,模式相当于主swf调用N个子swf的效果: 目前在做项目过程中,在使用iframe的时候,碰到了一些功能需求,以及解决方法如下: 一..在 ...

随机推荐

  1. JMX整理

    阅读目录 Standard MBean与MXBean的区别 实现 Notification 认证与授权 JConsole Custom Client What and Why JMX JMX的全称为J ...

  2. [Html5]sessionStorage和localStorage的区别

    摘要 有时需要在浏览器中保存一些数据,特别在app中嵌入的h5页面中,需要在webview中保存一些数据,作为客户端的数据持久化. h5中web storage有两种存储方式:sessionStora ...

  3. oracle唯一索引与普通索引的区别和联系以及using index用法

    oracle唯一索引与普通索引的区别和联系 区别:唯一索引unique index和一般索引normal index最大的差异是在索引列上增加一层唯一约束.添加唯一索引的数据列可以为空,但是只要尊在数 ...

  4. Object&&String学习

    Object类 列表项 String类 常用方法 构造方法 public String() public String(byte[] bytes) public String(byte[]bytes, ...

  5. IEnumerable<> ICollection <> IList<> 区别

    IEnumerable< ICollection < IList区别 public interface IEnumerable { IEnumerator GetEnumerator(); ...

  6. IBM:领导力素质的三环模式

    文章来源:http://blog.vsharing.com/sdtcj/A1826934.html   在翰威特公司于2003年评选的美国企业“领导人才最佳雇主”名单上,IBM名列榜首.而纽约< ...

  7. POJ 3292 Semi-prime H-numbers

    类似素数筛... Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6873 Accept ...

  8. hdu.5212.Code(莫比乌斯反演 && 埃氏筛)

    Code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submi ...

  9. 【PHP面向对象(OOP)编程入门教程】2.什么是类,什么是对象,类和对象这间的关系

    类的概念:类是具有相同属性和服务的一组对象的集合.它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...

  10. c++ 操作符重载和友元

    操作符重载(operator overloading)是C++中的一种多态,C++允许用户自定义函数名称相同但参数列表不同的函数,这被称为函数重载或函数多态.操作符重载函数的格式一般为: operat ...