由于最近项目需要,前端后台都完全采用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. Orchard源码分析(4.3):Orchard.Events.EventsModule类(Event Bus)

    概述 采用Event Bus模式(事件总线),可以使观察者模式中的观察者和被观察者实现解耦. 在.Net 中使用观察者模式,可以使用事件(委托)和接口(类).Orchard Event  Bus使用的 ...

  2. python 正则,常用正则表达式大全

    Nginx访问日志匹配 re.compile #re.compile 规则解释,改规则必须从前面开始匹配一个一个写到后面,前面一个修改后面全部错误.特殊标准结束为符号为空或者双引号:  改符号开始 从 ...

  3. 经纬度距离计算Java实现代码

    public class test { private static double rad(double d) { return d * Math.PI / 180.0; } public stati ...

  4. JDBC连接池

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/45/0C/wKiom1PjixLxfknCAAEbp-e9Bq ...

  5. jqxTreeGrid

    基本TreeGrid样本 <!DOCTYPE html> <html lang="en"> <head> <title id=" ...

  6. SVN使用教程总结[转]

    SVN使用教程总结   SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Sub ...

  7. php 计算字符串长度

    在项目的开发中,常常遇到要计算一个字符串的长度(中英文结合),由于产品要求不同,每个中文的长度要求也不一样. 解决utf-8编码下的字符串长度(可自定义每个中英文算几个字节) /** * 计算字符串长 ...

  8. php各种编码集详解和以及在什么情况下进行使用

    字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等. 字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集.GB2312字符集.B ...

  9. mobile touch事件

    touch.js 众所周知,mobile与pc 前端开发的不同中,有一点就是事件的不同,mobile上有touchstart,touchmove,touchend等,而pc上用最多的应该还是我们的cl ...

  10. 开始使用 Markdown

    (Xee:我最近感觉nyfedit打开有点慢,数据库有点大,试想着用一些其他的方式记录一下学习的过程,才想起了遗忘了很长时间的Markdown,将其分类在HTML下,也是我原本意愿的...) 本文面向 ...