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>
许多地方还考虑不周,你有更好的处理方式吗?请告诉我。。。
div加jquery实现iframe标签的功能的更多相关文章
- django2 用iframe标签完成 网页内嵌播放b站视频功能
前言: 给自己的网站中加入视频资源,有两种方法,一种是用iframe标签引用外站资源,另一种则使用video标签,获取站内资源进行视频播放.其中前者顾名思义,是将视频资源上传到视频网站中,然后通过引用 ...
- 关于 <script type='text/template' > 的妙用 / 使用jquery获取iframe加载完成事件
https://www.cnblogs.com/ddqyc/p/6200539.html <!DOCTYPE html> <html> <head> <met ...
- 用html给div加类似a标签的超链接(转)
今天项目中遇到用html给div加类似a标签的超链接,回想半天,万幸还是想出来了. 分享一下啊: 1.通过window.open函数 <div onclick="window.open ...
- 解析Jquery取得iframe中元素的几种方法
iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下 DOM方法:父窗口操作IFRAME:window.frames[&q ...
- 如何用iframe标签以及Javascript制作时钟?
如何利用iframe标签以及Javascript制作时钟? 如何制作一个时钟呢?效果如下图所示: 这里的时钟会不停的走,但是下面的页面是不会变得,这样就实现了我们想要的效果了.下面我将分为以下几个方面 ...
- jquery ZeroClipboard实现黏贴板功能,兼容所有浏览器
两天前听了一个H5的分享,会议上有一句话,非常有感触:不是你不能,而是你对自己的要求太低.很简单的一句话,相信很多事情不是大家做不到,真的是对自己的要求太低,如果对自己要求多一点,那么你取得的进步可能 ...
- jquery操作iframe
query取得iframe中元素的几种方法 在iframe子页面获取父页面元素 代码如下: $('#objId', parent.document); // 搞定... 在父页面 获取iframe子页 ...
- iframe标签flash遮盖页面元素问题——wmode参数
最近做项目过程中,遇到各种小问题,所以打算通过博客园来记录各问题的解决办法. 这篇的问题背景是这样子的:项目是用的AngularJS框架,在某个页面上用了wangEditor富文本编辑器插件(gith ...
- 【Egret】里使用iframe标签达到内嵌多个web界面
目的:Egret里使用iframe标签达到内嵌多个web界面,模式相当于主swf调用N个子swf的效果: 目前在做项目过程中,在使用iframe的时候,碰到了一些功能需求,以及解决方法如下: 一..在 ...
随机推荐
- 【好玩】将js代码转为日式表情
直接上网址:http://utf-8.jp/public/aaencode.html?src=hello 试试将下面代码执行一下吧: ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; ...
- jquery的load和get的区别
jquery的load把返回的数据放到指定的元素中,不是全局函数:jquery的get把返回的数据交给用户处理,是全局函数. load和get同样是jquery的ajax函数,load的实现,几乎等于 ...
- c# 获取系统时间
//获取日期+时间DateTime.Now.ToString(); // 2008-9-4 20:02:10DateTime.Now.ToLocalTime().ToStrin ...
- 在nodejs下express 从安装到运行的全过程
安装过程: npm install -gd express npm install -g express-generator express -V //查看版本,现在一般都是4.x系列的 expr ...
- 江湖救急:webbrowser中js文件丢失问题~
页面中,有一个按钮,点击按钮通过js create 了一个 script标签 ,链接加载一个外部js文件,执行该js文件 $("#a").click(function(){ $.g ...
- fullPage 全屏滚动【上下滚动】效果
由于个人能力,研究了两天,终于写出来了. 又花了一天的时间成功的将30多行脚本,改成了70多行,我也是够有心的了. 那么接下来就是我制作这个效果的全部过程. 那一年我十七,她十八,在那个夏天里,我们, ...
- resin
http://blog.csdn.net/sea0x/article/details/6097531 resin 启动: resin 配置文件摘取: <server-default> &l ...
- test dword ptr [eax],eax ; probe page. visual studio
当在函数中申请占用空间很大的数组.结构体时,会产生该问题. 由于局部变量的申请空间存放于栈中,windows里默认栈内存是1M 所以当申请空间大于1M时就会出现溢出错误 通过debug就会进入以下文件 ...
- 查看SQL Server日志 Part 1
曾经有朋友问我数据被删除了,不借助第三方工具能不能查是什么时候发生的. SQL Server提供了一个undocumented的函数fn_dblog可以让我们查看活动的transaction log. ...
- time_t 获取的是UCT时间,有时差
int main() { time_t nowTime; time(&nowTime);//获取当前时间(世界时间)//这种写法也一样nowTime=time(NULL) ; //如果要转化为 ...