做上传图片功能的时候,经常会遇到这样一个问题,有时候可能需要一次上传多张图片,而用html中默认的上控件,却只能选定一个文件,且不能对文件的后缀进行筛选。需要一次上传多个文件的需求,往往可以通过添加多个上传控件来予以满足,比如百度空间的相册上传功能就是这样来实现的。不过,要实现对上传文件后缀的过滤,却始终无法通过常规的方法予以实现。 这两个功能真的这么难以实现吗?非也,看看flickr的上传功能即可获得明确的答复。 为什么能实现这样的功能呢?google了一下,谜底就揭晓了。原来,这是利用了flash的若干功能,通过javascript和actionscript的交互得以实现的。js和as的通 ...
  • 16:34
  • 浏览 (39)
  • 评论 (0)
  • 分类: JS
先看Flash帮助的对于addCallback相关说明: public static addCallback(methodName:String, instance:Object, method:Function) : Boolean methodName:String - 从 JavaScript 调用 ActionScript 函数时可使用的名称。此名称不必与 ActionScript 方法的实际名称匹配。 instance:Object - this 在该方法中被解析成的对象。此对象不一定是在其上可找到该方法的对象,您可以指定任何对象(或 null)。 method:Function ...
  • 15:22
  • 浏览 (14)
  • 评论 (0)
  • 分类: JS
原文地址: www.macromedia.com/support/flash/ts/documents/java_script_comm.htm 说明: 略作修改,主要是一些很初级的操作; 又很多相似的文章,不过这个很权威 下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每个示例都有简略的步骤 本文讨论了3种基本的Flash/Javascript通信方式: Javascript 到 Flash的通信----使用Flash播放器的javascript方法 Flash 到 Javascript的通信----使用Flash的fscommand Flash 到 Fla ...
  • 14:55
  • 浏览 (29)
  • 评论 (0)
  • 分类: JS
播放动画:Play()   例:(网页中的 Flash id).Play(); 停止动画:StopPlay() 动画是否正在播放:IsPlaying() 跳转到某帧:GotoFrame(frame_number) 获取动画总帧数:TotalFrames() 回传当前动画所在帧数:CurrentFrame() 使动画返回第一帧:Rewind() 放大指定区域:SetZoomRect(left,top,right,buttom) 改变动画大小:Zoom(percent) 使动画在 x,y 方向上平移:Pan(x_position,y_position,unit) 返回动画被载入的百分比:Perce ...
  • 12:14
  • 浏览 (20)
  • 评论 (0)
  • 分类: JS
今天终于静下心来研究程序的效率问题,竟然发现一个普通的循环拼接字符串在IE下竟然执行了3秒钟时间 搜索发现早就有人对此进行了研究,于是又学到了一招,就是利用数组的join方法 以后得注意着这个问题,当需要拼接的字符串比较多的时候使用如下方法: function StringBuffer(){ this._strings = new Array(); } StringBuffer.prototype.append = function(str){ this._strings.push(str); }; StringBuffer.prototype. ...
  • 15:54
  • 浏览 (12)
  • 评论 (0)
  • 分类: JS
前几周做一个web企业项目,用户一定要求要有批量上传功能,而且指明了要和他们的老系统上传文件功能一样(老系统是c/s结构,vb做的)。然后没办法,想来想去只有flash能做到,于是上网找有没有这方面的东西,就找到了这个东东——SWFUpload. 官网地址是:http://swfupload.mammon.se/ 由于在官网的里例子示范里面只有php,C#,VB.net和ROR的,然后我上javaeye搜了下,好象也不多,只有一篇,而且也是比较高级的,于是只能自己搞了。 完了之后觉得这个东西的确相当不错,使用感觉很好,我估计我以后做项目可能都要用这玩意了。 代码我自己做了个wa ...
  • 23:32
  • 浏览 (27)
  • 评论 (0)
  • 分类: JS
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。 例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURI ...
  • 12:28
  • 浏览 (29)
  • 评论 (0)
  • 分类: JS
1、关于javascript的apply和call函数 prototype.js中用了大量的apply和call函数,不注意会造成理解偏差。 官方解释:应用某一对象的一个方法,用另一个对象替换当前对象。 apply与call的区别是第二个参数不同。apply是 数组或者arguments 对象。而call是逗号隔开的任何类型。 apply,call方法最让人混淆的地方也是apply,call的特色。但最好不要滥用。 能改变调用函数的对象。如下例,函数中用到this关键字,这时候this代表的是apply,call函数的第一个参数。 <script src="prototype1. ...
  • 14:22
  • 浏览 (52)
  • 评论 (0)
  • 分类: JS
JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。 先来看看JS手册中对call的解释: call 方法 调用一个对象的一个方法,以另一个对象替换当前对象。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传递方法参数序列。 说明 call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thi ...
  • 14:12
  • 浏览 (45)
  • 评论 (0)
  • 分类: JS
为什么我还没有点击链接 zhuanyi函数就运行了。。。 <script language="JavaScript"> window.onload = rolloverInit; function rolloverInit() { for(var i=1; i<document.links.length; i++) { var lianjie = document.links[i]; lianjie.onclick = zhuanyi(lianjie); }} function zhuanyi(thislianjie){ alert("neir ...
  • 13:21
  • 浏览 (29)
  • 评论 (0)
  • 分类: JS
在一个结构良好的网页中,不仅要做到结构和表现的分离,而且应该做到结构和逻辑的分离。这里的逻辑通常就是指在页面中使用的js脚本,比如: function toggleDl(){ //statement } var dl=document.getElementById("commentsList"); dl.onclick=toggleDl; 这就是一个结构分离的例子,它没有把onclick直接插入到html代码当中,而是通过dom模型取到这个结点然后加入语句来实现触发点击事件的功能。在这段代码中,onclick是一个事件句柄,它的值应该是一个函数体,当点击时会运行这个函数体。所以上面的语句 ...
  • 11:00
  • 浏览 (44)
  • 评论 (0)
  • 分类: JS
javascript语言提供两个内置函数将表示数值的字符串转换为真实的数值:parseInt()和parseFloat()。 为了使用这些函数,需要将进行转换的字符串作为参数传入函数,例: parseInt("42") //result=42 parseInt("42.33") //result=42 不过是浮点数还是整数,函数返回的值都是整数。不存在四舍五入,小数点和它后面的数字将被舍弃。 而parseFloat()则返回浮点数(如果是整数就返回整数),例: parseFloat("42") //result=42 parseFloat("42.33") //result=4 ...
  • 13:36
  • 浏览 (39)
  • 评论 (0)
  • 分类: JS
突然在项目里要用到javascrip二维数组,一查,发现,javascrip没有二维数组.那咱办呢,没有就没有,只好通过其它办法来做相似的功能. 第一种办法就是用一维数组来模拟二维数组.感觉这样不是很好,有点麻烦,而且容易出错 第二种办法:将一维数组的分项又定义为一个一维数组. 这种办法看起来似乎不错,主要实现方法如下: javascript定义二维数组的方法 javascript本身只支持一维数组, 有时非要用到二维数组的时候, 可以将一维数组的分项又定义为一个数组, 二维数组就是用数组构成的数组 Var aa=new Array(); //定义一维数组 for(i=1;i ...
  • 18:16
  • 浏览 (77)
  • 评论 (0)
  • 分类: JS
<table border=1 cellspacing=0><tr valign=top> <td> <img id=big_img width=640 height=480 onload='if (this.width>640 || this.height>480) if (this.width/this.height>640/480) this.width=640; else this.height=480;'> <td> <img src=一天一天抱大了.JPG onclick='big_img.src=this.s ...
  • 14:31
  • 浏览 (32)
  • 评论 (0)
  • 分类: JS
文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。不过在IE下img有几个附加的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我们可以通过这些属性来获取图片文件的部分信息,如文件大小,我们用file表单同img标签结合,就能够在上传之前判断图片文件的大小是否合法了。 还有一个小小的发现就是,IE下动画的onload事件是在每次循环开始都触发,这样我们可以通过他来达到和js里setInterval()函数一样的效果,如: 这两个 ...
  • 20:45
  • 浏览 (52)
  • 评论 (0)
  • 分类: JS
var objArray=new Array(); objArray.concact([item1[,item2[,....]]]-------------------将参数列表连接到objArray的后面形成一个新的数组并返回,原有数组不受影响。如:var arr=["a","b","c"]; arr.concact("d","e"); 将返回包括从"a"到"e"字母元素的数组。而arr本身不受影响。 objArray.join(separator)-----------------以separator指定的字符作为分割符,将数组转换为字符串,当seperator 为逗号时,其作用和to ...
  • 20:09
  • 浏览 (44)
  • 评论 (0)
  • 分类: JS
<input name=mlizhong size=4 value='' maxlength=4 onkeypress="return event.keyCode>=48&&event.keyCode<=57" onpaste="var s=clipboardData.getData('text'); if(!/\D/.test(s)) value=s.replace(/^0*/,''); return false;" ondragenter="return false" style="ime-mode:disabled" onkeyup="if(/(^0 ...
  • 12:28
  • 浏览 (43)
  • 评论 (0)
  • 分类: JS
getElementByID getElementsByName getElementsByTagName的区别和总结 WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagName()访问DOCUMENT中的任一个标签: 1、getElementById() getElementById()可以访问DOCUMENT中的某一特定元素,顾名思义,就是通过ID来取得元素,所以只能访问设置了ID的元素。 比如说有一个DIV的ID为docid: <div id="docid"></div> 那么就可以 ...
  • 16:00
  • 浏览 (42)
  • 评论 (0)
  • 分类: JS
function selectAll(){ var selectall=document.getElementById("selectall"); var checkboxid=document.getElementsByName("checkboxid"); if(selectall.checked==true){ for(var i=0;i<checkboxid.length;i++){ checkbo ...
  • 16:29
  • 浏览 (38)
  • 评论 (0)
  • 分类: JS
function getOs() { var OsObject = ""; if(navigator.userAgent.indexOf("MSIE")>0) { //============================== var agent=navigator.userAgent; var reg=/msie([^;]+);/i//获取版本的正则 var match=agent.match(reg); if(parseFloat([1])<=6) alert("IE6"); else a ...
  • 13:48
  • 浏览 (50)
  • 评论 (0)
  • 分类: JS
html <div nowrap id="filespan"> <input type="button" onclick="addFile()" value="添加附件" id="btnAdd" /> <div id="divMsg">尚未添加文件</div> </div> js var isIE = (navigator.userAgent.indexOf("MSIE") != -1); var fileIndex = 0; var dic = new ActiveXObject("Script ...
  • 13:06
  • 浏览 (76)
  • 评论 (0)
  • 分类: JS
说明:个人理解Scripting.Dictionary创建的对象,它的集合中每一项包含两个属性一个是键值,一个是值,即(key,value),其中value可以是任何类型的对象或数值。 <script language = javascript> function ok(){ try{ var obj = new ActiveXObject("Scripting.Dictionary");//创建对象 obj.Add("hello",null);//增加新项 obj.Item("hello")="Chiweiyao";//给新增添的项赋值 ...
  • 13:05
  • 浏览 (50)
  • 评论 (0)
  • 分类: JS
本文介绍如下几个方面的内容: 1.如何创建数组 2.如何对数组进行操作(添加,删除,读取) 3.数组常见方法和属性 如何创建一个数组,一般地根据初始化设定简单分为3种: 1.单纯创建数组: var arr=new Array(); 要点:用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用 2.创建数组的同时规定数组大小: var arr=new Array(10);//这里就创建了一个初始化大小为10的数组 注意:当使用数组大小操作初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增长是js数组的一个性质.另外,js中支持 ...
  • 20:45
  • 浏览 (59)
  • 评论 (0)
  • 分类: JS
<script language="javascript" for="document" event="onkeydown"> <!-- if(event.keyCode==13) event.keyCode=9; --> </script> 这样的处理方式,可以实现焦点往下移动,但对于按钮也起同样的作用,一般的客户在输入完资料以后,跳到按钮后,最好能直接按"回车"进行数据的提交.因此,对上面的方法要进行一下修改,应该对于"提交"按钮不进行焦点转移.而直接激活提交. 因此我对上面的代码进行了一个修改,即判断事件的"源",是否为提交按 ...
  • 20:32
  • 浏览 (68)
  • 评论 (0)
  • 分类: JS
方式一:事先写好多个input.在点击时才显示。也就是说上传的最大个数是写死了的。 html <p> <a href='#' onclick='javascript:viewnone(more1)'> 添加附件 </a> <div id='more1' style='display:none'> <input type="file" name="attach1" size="50"javascript:viewnone(more2)> </span> </div> <div id='more2' style='dis ...
  • 20:11
  • 浏览 (53)
  • 评论 (0)
  • 分类: JS
var a = document.createElement("select") for(var i =0;i<10;i++){ var op = document.createElement("option") op.text="afasdfsd" a.options.add(op) }
  • 14:04
  • 浏览 (63)
  • 评论 (0)
  • 分类: JS
增加: <html> <script> function dy(){ var row=document.createElement("tr"); var cell=document.createElement("td"); cell.appendChild(document.createTextNode("afsafaf")); row.appendChild(cell); document.getElementById("newbody").appendChild(row); } </script> <body> <br> ...
  • 13:16
  • 浏览 (142)
  • 评论 (0)
  • 分类: JS
2008-05-23

JS验证

今天加了一个时间,网上找了一些参考,觉得这个不错 时间验证 <html> <script> function int(){ alert(); } function IsDate(str){ //var str = document.getElementById('str').value.trim(); if(str.length!=0){ var reg = /^\d{4}-\d{2}-\d{2}$/; var r = str.match(reg); alert(r) ...
  • 12:40
  • 浏览 (65)
  • 评论 (0)
  • 分类: JS
//判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length==0){ alert('对不起,文本框不能为空或者为空格!');//请将“文本框”改成你需要验证的属性名称! } } //判断日期类型是否为YYYY-MM-DD格式的类型 function IsDate(){ var str = document. ...
  • 11:09
  • 浏览 (124)
  • 评论 (0)
  • 分类: JS
一些实用的函数 这个类库带有很多预定义的对象和实用函数,这些东东的目的显然是把你从一些重复的打字中解放出来 。 使用$()方法 $() 方法是在DOM中使用过于频繁的 document.getElementById() 方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。 比起DOM中的方法,这个更胜一筹。你可以传入多个id作为参数然后 $() 返回一个带有所有要求的元素的一个 Array 对象。 <HTML> <HEAD> <TITLE> Test Page </TITLE> <script src="prototype- ...
  • 18:54
  • 浏览 (94)
  • 评论 (0)
  • 分类: JS
Virgo_S
搜索本博客
存档
最新评论