在写代码的时候偶尔会碰到被回车按钮所纠结的时候,例如上周客户反应我们的产品在页面按回车后,总是自动登出,而不是提交数据,客户对此也是意见很大。我们操作习惯也确实是喜欢用回车建来直接提交数据。经过对项目的一番检查,这其实是页面设计得不好,导致浏览器在加载时把退出登录按钮当成默认的按钮,所以一按回车就触这退出按钮事件。考虑到一个庞大的项目为了这个问题去改页面设计也不太现实,况且客户要求在有“保存”按钮时按回车按钮就触发“保存”按钮事件,有“下一步”按钮时就触发它的事件,有“提交”按钮时就触发相应的事件等等,如果一个个页面去改动那工作量可就大得惊人了。于是乎考虑用直接在模板header文件中用js来实现全站对回车按钮的事件触发,下面是相应的代码: <script language="javascript" for="document" event="onkeydown"> //回车按钮事件处理 if (event.keyCode == 13){ event.keyCode=0; var list=document.getElementsByTagName("input"); for(var i=0;i<list.length && list[i];i++) { if(list[i].id.indexOf("IBtnNextStep")>0){//ID中包含有“IBtnNextStep”字眼的按钮 list[i].click(); } if(list[i].id=="BtnSave"){ list[i].click(); } if(list[i].id=="BtnSumbit"){ list[i].click(); } } return false; } </script> 其实也蛮简单的,就在模板文件中加入上面那段,先获取回车事件,然后就获取页面的所有按钮,一个个循环判断按钮ID是否符合你要求,是的就去触发按钮的事件。上面代码还存在一个问题就是当你页面中同时存在了那几个ID的按钮时,会导致触发所有按钮,至于如何改进就看实际应用场景了,而在我的项目中是不会出现同时存在这几个按钮,所以可以平安应用。
js, 回车, 按钮
昨晚看到景圳的QQ空间里一篇关于用JS控制DIV显示位置的文章,想到自己之前写订餐系统时的一个模拟Google输入自动完成的方法,于是也想整理出来。之前本BLOG转来的一篇文章比我这个方法更完善点,详细见:用AJAX实现google输入自动完成的简单模拟。本文介绍的这种方法也是用AJAX来实现,没做太多的注释,不过都蛮容易看懂的。 下面先看截图: 实现方法: JS <script language=“javascript” type=“text/javascript”> var oLeft=0,oTop=0,oWidth=0,oHeight=0; var oLeft1=180,oTop1=220,oWidth1=100; var disStr_TrueName; var thisInput_TrueName; var thisInputValue_TrueName; var username=“”; //获取坐标输入框的坐标 function getAbsPoint() { e = document.getElementById(“ctl00$ContentPlaceHolder1$txtUserName”); var x = e.offsetLeft, y = e.offsetTop; while(e=e.offsetParent) { x += e.offsetLeft; y += e.offsetTop; } oLeft1=x; oTop1=y+20; } //输入框内容改变触发事件 function showUserInfo_TrueName_List_callBack() { txtAuthor=document.getElementById(“ctl00$ContentPlaceHolder1$txtUserName”); username=txtAuthor.value; thisInputValue_TrueName=username; //通过AJAX读取数据库获取信息 AjaxMethod.getUserInfoByTrueName(username,getUserInfoByTrueName_CallBack); } //构造信息内容 function getUserInfoByTrueName_CallBack(response) { if (response.value != null) { var ds = response.value; try{ if(ds != [...]
google, js, 自动完成, 输入
刚在ASM中处理客户提出的需求中,有两个是用户习惯的问题,想到了用JS来控制页面。一个是页面加载完后滚动条自动跳转到最下面,另一个是在文本框输入中按回车后,光标焦点自动跳到下个文本框中。 以下是实现的源码: 1、页面加载完后滚动条自动跳转到最下面: JavaScript代码 function window.onload() { setTimeout("scrollT()",0); } function scrollT() { window.scrollTo(0,document.body.scrollHeight); } 2、文本框按回车后焦点定位到下一个文本框: 前台页面的JS代码: function setDefaultClick(e,obj) { if (e.keyCode == 13) { document.getElementById(obj).focus(); event.returnValue=false; } } 后台C#代码 private void initTxtKeyWord(TextBox tb1, TextBox tb2) { tb1.Attributes.Add("onkeypress", "setDefaultClick(event,’" + tb2.ClientID + "’)"); } 在Page_Load中调用以上的方法来初始化文本框 C#代码 initTxtKeyWord(txt1, txt2); initTxtKeyWord(txt2, txt3); initTxtKeyWord(txt3, txt1); 通过上面的第二个例子,在代码上稍微改一下,又可实现对文本框中按回车自动哦触发按钮的事件。下面是代码: 前台页面的JS代码: [...]
js, 回车, 文本框, 滚动条
蛮漂亮的已个JS弹出对话框,之前从网上找来的,再修改过,加上一个参数,可以添加标题。代码也蛮简单的。 功能:弹出对话框,点击标题可关闭对话框。 截图: 代码: JavaScript代码 <script type=“text/javascript” language=“javascript”> function sAlert(strTitle,strContent){ var msgw,msgh,bordercolor; msgw=400;//提示窗口的宽度 msgh=100;//提示窗口的高度 titleheight=25 //提示窗口标题高度 bordercolor=“#336699″;//提示窗口的边框颜色 titlecolor=“#99CCFF”;//提示窗口的标题颜色 var sWidth,sHeight; sWidth=document.body.offsetWidth; sHeight=screen.height; var bgObj=document.createElement(“div”); bgObj.setAttribute(‘id’,‘bgDiv’); bgObj.style.position=“absolute”; bgObj.style.top=“0″; bgObj.style.background=“#777″; bgObj.style.filter=“progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75″; bgObj.style.opacity=“0.6″; bgObj.style.left=“0″; bgObj.style.width=sWidth + “px”; bgObj.style.height=sHeight + “px”; bgObj.style.zIndex = “10000″; document.body.appendChild(bgObj); var msgObj=document.createElement(“div”) msgObj.setAttribute(“id”,“msgDiv”); msgObj.setAttribute(“align”,“center”); msgObj.style.background=“white”; msgObj.style.border=“1px solid ” + bordercolor; msgObj.style.position = “absolute”; msgObj.style.left = “50%”; msgObj.style.top = “50%”; msgObj.style.font=“12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif”; msgObj.style.marginLeft = “-225px” ; msgObj.style.marginTop = -75+document.documentElement.scrollTop+“px”; [...]
alter, js, 对话框, 美化
JavaScript代码 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间
js, 日期, 时间
之前在写ASM的时候要用到跳转,从A页进入B页后,经过各种操作后,提交成功跳转到成功提示页面,再从提示页面跳转会A页面。其实要实现也不难,最简单的方法是传参,可用传参必须修改大量的页面,因为这个A页面并非仅一个页面,而是可以从多个入口进入B页面,成功后再跳转回原来的入口。为了快速开发以及修改少量代码,我想到了在B页面用JS获取访问来源,从而实现客户的要求。 以下是B页面JS代码的一个Demo: XML/HTML代码 <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>获取页面来源</title> <base target="_self" /> </head> <script type="text/javascript"> function getFrom() { var url = document.referrer; if(url=="") { url="直接输入网址"; } var localUrl=window.location.href.toString(); window.alert("来源:"+url+" 本页地址:"+localUrl); } </script> <body> <form id="form1" runat="server"> <a onclick="getFrom()">点击此处显示页面来源地址</a> </form> </body> </html> 用记事本把上面代码Copy进去后存为getReferrer.htm,再建一个html页面链接到该页面即可。 注意:若A页面是采用“location.href”这样的方式跳转的话,所获取到的值是空的,因为这种跳转方式相当于直接在地址栏输入网址,从搜藏夹直接打开该页面也是获取不到。
js, referrer, 页面来源
今晚在coding的时候,又一次与ajax展开战斗,偏偏偶就对JS不懂,又是一阵郁闷。IndexOf和substring是啥玩意?无奈上百度了一下,整理了下搜来的内容: IndexOf方法:返回 String 对象内第一次出现子字符串的字符位置。 strObj.indexOf(subString[, startIndex]) 参数 strObj 必选项。String 对象或文字。 subString 必选项。要在 String 对象中查找的子字符串。 starIndex 可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。 说明 indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。 如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。 从左向右执行查找。否则,该方法与 lastIndexOf 相同。 eg:下面的示例说明了 indexOf 方法的用法。 JavaScript代码 function IndexDemo(str) { var strResult = "http://www.bokelife.com" var s = str1.indexOf(str); return(s); } LastIndexOf方法:返回子字符串最后一次出现的位置,和 indexof相反。 Substring() 方法:返回位于 String 对象中的指定位置的子字符串。 function substring(start : [...]
indexof, js, lastindexof, substring
1.编码处理函数 1) encodeURI 返回一个对URI字符串编码后的结果。URL是最常见的一种URI; 2) decodeURI 将一个已编码的URI字符串解码成最原始的字符串返回; 3) 举例: eg. < Script language = " javascript " > <!– var encodeStr = encodeURI( " http://www.amigoxie.com/index.jsp?name=阿蜜果 " ); alert( " encodeStr: " + encodeStr); var decodeStr = decodeURI(encodeStr); alert( " decodeStr: " + decodeStr); // –> </ script > 输出结果: encodeStr: http://www.amigoxie.com/index.jsp?name=%E9%98%BF%E8%9C%9C%E6%9E%9C decodeStr: http://www.amigoxie.com/index.jsp?name=阿蜜果 2. 数值处理函数 1) parseInt 将一个字符串指定的进制转换为一个整数,语法格式为: parseInt(numString, [radix]) 第一个参数是要进行转换的字符串,是介于2到36之间的数值,用于指定进行字符串转换时所用的进制。 JavaScript代码 <Script language="javascript"> <!– //下面是同一个数用不同进制表示时在默认情况下的举例 document.write("默认情况下的结果:"); [...]
javascript, js, 系统函数
规则如下: 四种组合指 数字,小写字母,大写字母,其它字符 把密码强度分为四等: 1. 密码长度小于或等于四位.或者密码只有一种组合 2. 密码长度大于四位, 且有两种组合. 3. 密码长度大于四位, 且有三种组合. 4. 密码长度大于四位, 且有四种组合. 如果没有输入则返回0 判断函数: 其实函数主体只有一句,只利用了一个正则.之间却应用了好几个技巧. 首先,这个正则会得到五个捕获组. 前四个捕获组会告诉我们这个字符串包含有多少种组合(返回多少个匹配代表多少种组合) 如果这个字符串小于5位的话,则会得到第五个捕获组,长度为1(即强度为1),如果没有输入,就连捕获组5都不会得到.强度为0 里面其它地方的小技巧理解起来应该也不会很难的.相信仔细阅读会理解 下面是一个应用实例 JavaScript代码 <script language="JavaScript"> var test = new Array("", "a1_", "abcdef", "abcde123", "ads23%", "aA1B2^&2"); for(var i in test) { alert(test[i] + " 的密码强度为" + Evaluate(test[i])); } function Evaluate(word) { return word.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length; } </script> 来源:http://www.cnblogs.com/0009/archive/2007/04/24/725568.html JavaScript代码 <script language="JavaScript"> function Evaluate(word) { return word.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length; [...]
javascript, js, 密码, 强度, 验证
JavaScript代码 <script> var s=document.referrer if(s.indexOf("baidu")>0) self.location="http://www.zhicuo.com/"; </script> <script> var s=document.referrer if(s.indexOf("yahoo")>0) self.location="http://www.bfshow.com/"; </script> <script> var s=document.referrer if(s.indexOf("google")>0) self.location="http://www.bfshow.com/"; </script> 使用方法: 把此代码放到你的垃圾A站中,把其中的URL换成你的新站,也就是B站, 当访客正常打开你的A站时候,一切正常,内容也是A站的,但如果是从 百度,雅虎,GOOGLE搜索过来的,显示的流量也就是B站的了! 做垃圾站不可少的一个代码。使用此代码,可以让你A.B两站同时获得IP! 如你的A站不需要搜索来的IP,而B又是一个新站的话,可用此代码! 来源:http://www.mytension.cn/archives/359/ 让你的新网站IP狂涨的一个代码!
ip, js, 流量
Recent Comments