- 浏览: 124339 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
AlexBlume:
...
js中“使用”el表达式 -
xiaoyuer9953:
这两天正需要这个,很好!
json-lib-2.4-jdk15.jar 组装json字符串 -
liuyue513:
...
MyEclipse下debug调试 -
Fs_sky:
谢了,太厉害了!
Object... values的用法 -
ooo456mmm:
goood
MyEclipse下debug调试
<!-- 地址栏前添加自定义小图标16*16 --> <link rel="shortcut icon" href="favicon.ico" /> 需要将favicon.ico图片放在WebRoot/favicon.ico目录下;
按下回车键的事件 document.onkeydown = function(e){ var ev = e || window.event; if(ev.keyCode==13||ev.which==13){ //这里是按下回车键的事件 } }
function closeWin(){//关闭窗口 window.opener = null; window.open('','_self'); window.close(); } 注意:window.close()方法讲解: 对于用js代码打开的窗口,是没有关闭提示信息的; 但是对于原生窗口(即你直接打开的窗口),就会有提示信息,此时想没有提示信息,做法是: window.opener = null; window.open('','_self'); window.close();
在firefox中,window.close()默认不能关闭用户直接打开的窗口(firefox中对于直接打开的窗口window.close是无效的)。
有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe);
self是当前窗口,自引用属性,是对当前window对象的引用,与window属性同义.
opener是对打开当前窗口的window对象的引用,如果当前窗口被用户打开,则它的值为null.
open动作完成后将opener设置为空,也就是window.opener=null,但是那也没说它有关闭窗口时不提示这么个用法啊。子窗口(通过js生成的窗口)是不需要把window.opener设置为空也可以无提示自动关闭的,但父窗口(原生窗口)必须有这一句。关于window.opener在无提示关闭窗口的作用,是不是可以这么解释:浏览器认为子窗口与父窗口的优先级是不同的,子窗口可以随意关闭而父窗口可能有比较重要的内容而需要用户同意才可以关闭;当window.opener=null的时候,父窗口失去了原来的优先级,被浏览器认为是一个普通的窗口,所以可以象子窗口一样不需要提示而自动关闭了。
iframe自适应实现的一种方式:
<div id="main" style="height:500px;width:998px;">
<iframe name="mainFrame" id="mainFrame" width="100%" height="100%" frameborder="0" onload="this.parentNode.style.height=(200 + 'px');"></iframe>
</div>
其中200是调整后iframe的最小高度,这个值根据实际情况调整。
总结:
1.iframe设置:width为100% height为100%;
2.外层div用px控制(实际控制的是div,通过控制div,由于里面iframe宽与高都是100%,所以iframe会自适应的);
也就是说,在实际的控制中,只要控制外层div的高与宽就行了,里面的iframe会随着外层div高宽的改变而自适应改变。
注意:在除ie6以外的其它浏览器中这样处理是可以的,但是ie6中不仅要控制外层div的高宽,还要控制iframe的高宽。下面是相关关键代码:
/** * iframe高度自适应 * @param iframeObj :iframe DOM对象 * @param divObj : div DOM对象 * @return 设置的高度 */ function iframeAdapt(iframeObj, divObj){ var bHeight = iframeObj.contentWindow.document.body.scrollHeight; var dHeight = iframeObj.contentWindow.document.documentElement.scrollHeight; var height = Math.max(bHeight, dHeight); if(navigator.userAgent.indexOf("MSIE 6.0")>0){//IE6下还要控制iframe的高宽 iframeObj.style.height = height + 'px'; } divObj.style.height = height + 'px'; return height; } /** * 检查iframe是否加载完成 */ function checkIframeComplete(){ var state = null; //如果有多层次的iframe嵌套,只要检查最外层的iframe是否加载完成就行了 //最外层的iframe加载完成了,则里面的iframe也一定加载完成了! var ifrObj = window.top.window.document.getElementById('iframeId'); if(ifrObj.contentWindow.document.readyState){ try{ state = ifrObj.contentWindow.document.readyState; }catch(e){ state = null; } if(state == "complete" || !state){// loading,interactive,complete doXXX(); //这里是iframe加载完成后 要执行的操作 return; } window.setTimeout(function(){ //定时检查 checkIframeComplete(); }, 10); } }
iframe自适应另一讲解:http://bbs.blueidea.com/thread-2902341-1-1.html
利用iframe来做无刷新上传:
要实现文件上传,form必须设置几个属性:
1.action:设为要处理数据的页面地址;
2.method:设为"post";
3.enctype/encoding:必须设为"multipart/form-data",这里要注意的是在ie中用js修改form的enctype属性是没有效果的,只能修改encoding;
4.把form的target设为iframe的name;
iframe实现无刷新上传的原理:利用form的target属性,把数据提交到页面中一个(通常为隐藏的)iframe上。直观点说就是把“刷新”留给iframe。
其实原理跟一般用iframe实现无刷新提交表单是一样的,只是这里换成是文件。
这里关键就是把form的target设为iframe的name
注意:从后台返回给iframe的值最好要全是英文字符(包括英文字母、数字)!如果含有中文字符会有各种浏览器兼容问题!切忌不要返回中文!
FORM元素的enctype属性指定了表单数据向服务器提交时所采用的编码类型,默认的缺省值是“application/x-www-form-urlencoded”。
然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。
在文件上传时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。
Browser端<form>表单的ENCTYPE属性值为multipart/form-data,它告诉我们传输的数据要用到多媒体传输协议,由于多媒体传输的都是大量的数据,所以规定上传文件必须是post方法,<input>的type属性必须是file
前后台传递参数常用的方式
前后台传递参数常用的方式有四种:form.submit()提交方式、a标签href方式、iframe.src提交方式、ajax提交方式;
form提交方式:
<form id="searchForm" action="${_ctPath}/xxx_list.do" method="post">
<input type="text" name="inboxDto.sendNum" value="${inboxDto.sendNum}"/>
<input type="text" name="dddd" value="${dddd}"/>
<input type="text" name="inboxDto.startTime" value="<fmt:formatDate value="${inboxDto.startTime}" type="both" pattern="yyyy-MM-dd"/>"/>
<a href="javascript:document.getElementById('searchForm').submit();">提交</a>
</form>
a标签href方式:
<a href="${_ctPath}/xxx_list.do">
如果传参可以这样:<a href="${_ctPath}/xxx_list.do?inboxDto.sendNum=111&dddd=2222">
iframe.src提交方式:
var ifrObj = document.getElementById(iframeId);
ifrObj.src = "${_ctPath}/xxx_list.do";
如果传参可以这样:ifrObj.src = "${_ctPath}/xxx_list.do?inboxDto.sendNum=111&dddd=2222";
ajax提交方式:
用我封装的ajax工具类发送请求,其中data配置如下:
data:"inboxDto.sendNum=111&dddd=2222"
相同点:
1.都可以通过request.getParameter获取
2.都可以将参数封装为dto对象
在后台请求处理方法中的测试代码,运行结果证明:可以获取数据。
System.out.println(request.getParameter("inboxDto.sendNum"));
System.out.println(request.getParameter("dddd"));
System.out.println(inboxDto.getSendNum());
不同点:
在struts2中,不同方式的请求提交到struts2的处理方法时,当return一个逻辑页面时,例如:
public String list(){
//something to do...
return "xxx_list";
}
form与a方式时,form标签与a标签的target属性所指向的页面可以正常跳转到逻辑页面;
iframe.src方式时,该iframe可以正常跳转到逻辑页面;
ajax方式时,失效,不行(1.可能行,但是我还没有找到解决方法;2.此时ajax返回的结果rs是要跳转的页面)
target属性:
_self:默认值,在原页面打开。
_blank:在新窗口打开。
_parent:在父窗口打开。
_top:在顶级窗口打开。
frameName:在指定iframe中打开。
发表评论
-
My97日历控件 常用范例
2012-04-24 15:17 1153官方文档: http://www.mysuc.com/test ... -
js封装、构建对象
2012-04-10 16:27 2155一、通过闭包,执行匿名函数,返回一个对象 //例1 var ... -
js事件
2012-03-31 15:52 2256先说下js事件中几个重要的概念:事件对象、目标元素(事件源)、 ... -
frames["frameName"]用法bug?
2012-03-13 16:02 1182闲话少说,直接上代码 ... -
hasOwnProperty实现剔除数组中重复项
2012-03-02 16:41 2410hasOwnProperty是用来判断一个对象是否有你给出名称 ... -
js数组排序
2012-03-02 16:22 1412js的数组中有一个sort()方法,默认是按照ASCII字符顺 ... -
函数的参数arguments、当前上下文this、call apply
2010-09-16 13:52 1196函数的参数arguments js中 ... -
html中js代码的加载顺序
2010-09-02 12:31 3422搜索:非阻塞JavaScript 对于一个html页面,he ... -
js变量作用域
2010-08-19 08:41 1137JavaScript的函数是在局部 ... -
javascript中数据类型
2010-08-01 17:16 1871var str = "Hello, world&qu ... -
JavaScript条件表达式的布尔判断
2010-07-31 15:57 7710在JavaScript中,对于单独 ... -
setTimeout和setInterval的使用
2010-07-17 14:40 890window对象有两个主要的定时方法,分别是setTimeou ... -
javascript中数组、对象
2010-06-11 15:34 1346javascript数组操作大全: ... -
正则表达式
2010-06-11 10:10 881var patten1 = /^\d+(\.\d{1,6})? ... -
不使用第三个变量完成两个整数的交换
2010-04-20 09:32 815public class Person { ... -
js点滴
2010-02-02 11:39 968onchange 事件会在域的内容改变时发生。支持该事件的HT ... -
javascript操作cookie 以及 html国际化
2010-02-02 11:36 1766下面是cookie操作的工具类: var CookieUtil ... -
js获得本周,本月,本季度的开始日期和结束日期 & 给定日期,获得是当年的第几周
2010-01-24 13:14 1315js获得本周,本月,本季度的开始日期和结束日期 <scr ... -
javaScript DOM方法与属性摘要
2009-12-18 18:56 755createDocumentFragment() 创建一个文 ...
相关推荐
IE地址栏前换成自己的图标 .html TEXTAREA自适应文字行数的多少.html title显示日期.html 不准粘贴.html 不能为空和邮件地址的约束.html 不要滚动条.html 光标是停在文本框文字的最后.html 关闭输入法.html ...
277 如何清除IE地址栏历史记录? 278 如何添加IE浏览器收藏夹内容? 279 如何使用默认浏览器打开指定网页? 280 如何清除上次登录用户历史记录? 281 如何强制操作系统只执行规定的程序? 282 如何在系统“控制面板/添加...
相关网站 7 设置窗口最大最小 7 ...更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的实现 122 实现窗口动态写入汉字和改变汉字颜色形状 123
相关网站 7 设置窗口最大最小 7 ...更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的实现 122 实现窗口动态写入汉字和改变汉字颜色形状 123
修改高级表格支持库,解决在鼠标按下和抬起之间收到时钟周期事件的情况下,无法收到“被单击”事件的BUG。 3. 修改扩展界面支持库三,解决单击卷帘菜单后导致日期框不能弹出下拉窗口的BUG。 4. 修改XP风格支持库...
实例060 按下回车键时自动切换焦点 103 2.2 下拉列表/菜单 104 实例061 获取下拉列表/菜单的值 104 实例062 遍历多选择下拉列表 105 实例063 在下拉列表中进行多选移除 106 实例064 将数组中的数据添加到下拉菜单中 ...
计算机应用技术 实用手册 Xnllz 2011.7.29 ...有时候在系统的任务栏你见不到小喇叭有可能在这里被关闭了,即:[DISABLED],遇到这种情况可从新进入COMS把此项打开即可,即:[ENABLED]。 SATA...
屏幕右下角有一小图标,当教师机界面隐藏时可双击该图标,屏幕就会显示教师机主界面。也可以利用屏幕最上方的弹出式工具条中的窗口按钮来恢复教师机主界面(见下节)。 4.3右键菜单 教师机启动后,在班级模型区可...
效果的测试:打开IE浏览器,在地址栏输入“192.168.0.1”之后再按回车键,此时就能够调出你自己网页的首页,则说明设置成功! 注:具体不同的电脑会有不同的选项名称,但大体上还是可以找到了(多试一下)。 二、...
0253 如何在不使用标题栏的情况下移动窗体 170 0254 使窗体标题栏文字右对齐 170 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态...
0253 如何在不使用标题栏的情况下移动窗体 170 0254 使窗体标题栏文字右对齐 170 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态...
可任意加空格,不可以任意加回车键 C.不任意加空格、回车键 D.不可以任意加空格,但可以任意加回车键 答案:C 24.Internet采用的通信协议是( )。 A.SMTP B.FTP C.POP3 D.TCP/IP 答案:D 25.插入点位于某段落的某个...
实例097 按回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 ...
实例097 按回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 ...