用Js在客户端导excel
这两天一直在用js导excel 整理一下知识点如下:
创建对象的应用程序(在这种情况下,Microsoft Excel 工作表)。一旦对象被创建,就可以用定义的对象变量在代码中引用它。 在下面的例子中,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象,包括 Application 对象和 ActiveSheet.Cells 集合。
- // 使 Excel 通过 Application 对象可见。
- ExcelSheet.Application.Visible = true;
- // 将一些文本放置到表格的第一格中。
- ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
- // 保存表格。
- ExcelSheet.SaveAs("C:\\TEST.XLS");
- // 用 Application 对象用 Quit 方法关闭 Excel。
- ExcelSheet.Application.Quit();
DWR API详解
简单的说DWR就是把服务器端接口映射给客户端。
还是看API吧:
[coolcode]
$(“precloneNode1suf”) 取得该对象;
DWRUtil.selectRange(“selectRangeBasic”, 5, 15) 选中selectRangeBasic文本框里面从第五个字符到第15个字符之间的字符.
DWRUtil._getSelection(“selectRangeBasic”) 得到selectRangeBasic文本框里选中的字符.
var arrayFive = [ 'One', 'Two', 'Three', 'Four', 'Five' ];
DWRUtil.addOptions(‘addOptionsBasic’, arrayFive); 将数组添加到下拉菜单里面去;
DWRUtil.getValue(‘addOptionsBasic’) 得到 addOptionsBasic 对象的值;
DWRUtil.getValue(“precloneNode1Inner1suf”, { textContent:true }); 后面加个参数,在 precloneNode1Inner1suf元素为”UL” 时,它返回了元素里面得值,也就是说去掉了HTML标签部分.
DWRUtil.getText(‘addOptionsBasic’) 得到下拉框 addOptionsBasic 显示的文本;
var arrayObject = [
{ name:'One', value:'1' },
{ name:'Two', value:'2' },
{ name:'Three', value:'3' },
{ name:'Four', value:'4' },
{ name:'Five', value:'5' }
];
DWRUtil.addOptions(‘addOptionsObject1′, arrayObject, “name”); 将数组添加到下拉菜单里面去;后面的参数是确定那个是给用户显示的文本,同时也是值;
DWRUtil.addOptions(‘addOptionsObject1′, arrayObject, “name”,”value”); 同上,不过后面参数是: 3=文本;4=值;
var map = { one:1, two:2, three:3, four:4, five:5 };
DWRUtil.addOptions(‘addOptionsMap1′, map); 同上, one 是值;1 是文本;
DWRUtil.addOptions(‘addOptionsMap1′, map,true); 同上, 1 是值;one 是文本;
Read more
用js给document添加event
前几天做的一个bolisi网站,遇到一个难题,就是打开图片时要变成小窗口打开,只有最小化和关闭,而我的href就是用ajax通过加载放进去的,不可能在响应onclick事件,所以我这里想到了给href加个onclick的event.代码如下:
- //打开窗口的方法
- function MM_openBrWindow(theURL,winName,features) { //v2.0
- window.open(theURL,winName,features);
- }
- //addEvent( document.getElementById('foo'), 'click', doSomething );
- //参数传递的方式
- addEvent(document,'click',function(){ event5('myArgument') });
- //添加event
- function addEvent( obj, type, fn )
- {
- if ( obj.attachEvent )
- {
- obj['e' + type + fn] = fn;
- obj[type + fn] = function()
- {
- obj['e' + type + fn]( window.event );
- }
- obj.attachEvent( 'on' + type, obj[type + fn] );
- }
- else
- obj.addEventListener( type, fn, false );
- }
- function showResponse(originalRequest) {
- //这个是以前直接用的href属性
- //$('href1').href=xmlDoc.getElementsByTagName("path1")[0].childNodes[0].nodeValue;
- //这个是我增加的event
- addEvent($('href1'),'click',function(){ MM_openBrWindow(xmlDoc.getElementsByTagName("path1")[0].childNodes[0].nodeValue,'图片查看器','width=450,height=360')});
- }
查看资料:
document,event javascript中常用对象介绍
大师推荐的经典方法(持续更新)
ajax简单应用
Javascript类的实现
几次笔试、面试发现几个不会的东西,记一笔学习一下。。。
Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持 虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创 建对象。
一:定义类并创建类的实例对象
在Javascript中,我们用function来定义类,如下:
{
var x=1;
var y=2;
}
你或许会说,疑?这个不是定义函数吗?没错,这个是定义函数,我们定义了一个Shape函数,并对x和y进行了初始化。不过,如果你换个 角度来看,这个就是定义一个Shape类,里面有两个属性x和y,初始值分别是1和2,只不过,我们定义类的关键字是function而不是class。
然后,我们可以创建Shape类的对象aShape,如下:
一句code屏蔽右键和复制
- <span class="articlebody">〈body oncontextmenu=self.event.returnValue=false onselectstart="return false"〉</span>
定义了oncontextmenu。使得右键的值为false,起到了屏蔽右键的效果。现在,再试试看刚才的破解方法,已不行了。左右键连击已不能再打开右键菜单。不但是这个,再试试看其他的方法。无论您怎样的乱点,右键都没有用。因为在这个网页里,右键已不存在了。
onselectstart=”return false” 这样,左键选定功能就给轻易屏蔽了,也就没有了复制。。。。
常用设为首页&加入收藏JS
IE常用版:
- <a href="#" onClick="this.style.behavior='url(#default#homepage)';this.setHomePage(location.href);return(false);">设为首页</a>
- <a href="#" onClick="window.external.addFavorite(location.href,document.title);return false;">加入收藏</a>
适应firefox的:
- <script type='text/javascript'>
- function addFavorite(url,title){
- if (document.all){
- window.external.addFavorite(url,title);
- }else if (window.sidebar){
- window.sidebar.addPanel(title, url, "");
- }
- }
- function setHomepage(url)
- {
- if (document.all){
- document.body.style.behavior='url(#default#homepage)';
- document.body.setHomePage(url);
- }else if (window.sidebar){
- if(window.netscape){
- try{
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }catch (e){
- alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" );
- }
- }
- var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
- prefs.setCharPref('browser.startup.homepage',url);
- }
- }
- </script>
二级或者多级动态列表
这几天一直在忙工作流的研发和上海公证的一些小的事情,因为前者一直没有头绪,所以也没有写过blog!以后就会好了,上个星期花了几百搞了无线的路由和网卡,俺在家也能上网了,以后就白天工作,晚上blog,呵呵。。。
进入主题,这两天在做公证的业务管理,有一个三级分类,表结构个人认为设计的不是太好,所以做起来有一点的繁杂,幸好做的时候想起在学校自己写过的一个连动的js小例子,于是就下手改了一点东西,最后做出来还可以使用,我想这个可以做到几级的动态列表!
仔细想想,如果不用ajax异步提交,得到数据的话,只能在请求页面生成js的array,这样才能动态的控制显示!
先看一下生成的array的js:
Read more
div显示与隐藏
前几天做北京一个创星网,用到这个东东, 这个东西以前记的做过,不过有两个属性忘了,google了一下就把它写出来了
- //JS div显示与隐藏
- <input name="isbroker" value="1" checked="checked" class="checkbox2" onclick="javascript:document.all.brokertype.style.display='block';" type="radio" /> 是 <input name="isbroker" value="0" class="checkbox2" onclick="javascript:document.all.brokertype.style.display='none';" type="radio" /> 否
- <p id="brokertype" style="visibility: visible"> 经纪公司类型 <font color="#ff0000">*</font> <select name="broker_type" id="broker_type" title="经纪公司类型" must="1"> <option value="1">演员经纪</option> <option value="2">模特经纪</option> <option value="3">歌手经纪</option> <option value="4">明星经纪</option> <option value="5">演出经纪</option> <option value="6">文化经纪</option> <option value="7">其他</option> </select></p>
点击全选(JS)
平常的使用中,点击全选的效果我们经常会用到了,看起来复杂,其它也就几句JS就实现了!代码如下:
- <script language="javascript"> function mm() { var a = document.getElementsByTagName("input");//input为你的单选框
- if(a[0].checked==true){ for (var i=0; i<a.length; i++) if (a[i].type == "checkbox") a[i].checked = false; } else { for (var i=0; i<a.length; i++) if (a[i].type == "checkbox") a[i].checked = true; } } </script>
在你所点击的地方调用不着onclick=”mm()”就可以了!

