最近在公司里做项目的时候遇到一个问题,开发出来的网页需要在Android手机中的浏览器中打开,当在表单中的文本框内输入内容时,如果这时点软键盘中的回车会导致表单被提交,而不是正常的点击按钮提交。

    经上网查询了相关资料与自己的测试,下面发出解决的代码:

 

    在表单的onSubmit事件中加入以下代码:

   

Javascript Code
 1 var sUserAgent = navigator.userAgent.toLowerCase();
 2 //判断浏览器是否为Android浏览器
 3 var bIsAndroid = sUserAgent.match(/android/i) 
 4 == "android";
 5 
 6 //submit事件的事件源对象,如果是普通的点击按钮提交表单dragObj的值为"buttom",如果是点击软键盘的回车,则值为null
 7 var ev=ev || window.event;
 8 var target=ev.target || ev.srcElement;
 9 var  dragObj  =  target.getAttribute('type');
10 
11 
12 if(bIsAndroid && dragObj==null){
13         //如果是Android浏览器并且用户是点击的软键盘的回车,则不提交表单
14     return false;
15 }

 

posted @ 2011-06-02 09:48 漂_泊 阅读(246) 评论(0) 编辑

  最近做了一个项目,需要对一个2维数组的值进行排序然后再取出对应的Key值。开始是用HashTable做的,不过HashTable中的排序只是对Key进行排序,如果想对值进行排序得用其它办法。下面我就把这种方法说下:

     一.我们先假设一个二维数组,用HashTable来储存值,当然你也可以去其它数组类来实现,这里就用HashTable。

   

HashTable ht=new HashTable();
ht.add("a",1);
ht.add("b",4);
ht.add("c",3);
ht.add("d",2);

 

 

我就不向里面添加内容了,我们假设这个数组中的Key为字符串,Value为Int类型(注:Value有重复值)。里面有若干数据。我们现在要实现的是将Value按从小到大排序,然后再取出排序过后的Key的值,请看代码:

代码
//先定义两个一维数组,分别用来存储Key和Value
string[] keyArray=new string[ht.Count];
int[] valueArray=new int[ht.Count];

//将HashTable中的Key和Value分别赋给上面两个数组
//注:有关CopyTo的用法请参考相关帮助文档
ht.Keys.CopyTo(keyArray,0); 
ht.Values.CopyTo(valueArray,
0);

//下面就是对Value进行排序,当然需要按排序结果将Keys的值也作对应的排列
//Sort默认是升序排序,如果想用降序排序请在Sort排序后使用Array.Reverse()进行反向排序
Array.Sort(valueArray,keyArray);


 

上面的代码已经将Value进行了升序排序,并且Key也作了相应的排列。

 这样的话keyArray的值就成:

"a"

"d"

"c"

"b"

 

 

posted @ 2010-02-04 14:04 漂_泊 阅读(920) 评论(0) 编辑

       今天一大早来到公司,一向开机速度很快的本本突然进入桌面时速度奇慢,等了几分钟终于进入到了桌面,结果突然跳出提示:"Windows 无法连接到System Event Notification Service服务"。查看网络连接显示:无法连接。所有与网络有关的程序全部不能运行(包括360,IE,QQ等。。)

  上网查看原因,看了很多文章,问题的原因应该是WinSock2损坏,然后按照网上的方法在运行中输入:netsh winsock reset catalog 命令,结果提示Nshhttp.cll中初始化函数inithelperdll启动失败,错误代码:10107。无果,于是按另一个办法用360安全卫士的LSP修复工具,但是360一打开就提示错误然后自动关闭了,又失败。。。想重启下System Event Notification Service服务看看,但是这个服务已经损坏,不能重新启动了,所有此服务的功能全部失效。。。

 

      下面就放出我自己摸索出来的办法,速度很快:

 重新启动电脑,按F8进入安全模式(话说第一次用Win7的安全模式,发现启动速度真是快),然后在安全模式中打开360安全卫士,这时已经不会提示有问题了,然后点击高级工具-> LSP修复工具 -> 恢复WinSock LSP到初始状态。 然后在运行里输入命令:netsh winsock reset catalog 这次提示修复成功,需要重启系统,于是再次重启,搞定。。。

 

后来经过查看,发现360用来修复WinSockLSP的工具其实是两个注册表文件,如果有人没有安装360的话,请直接点此下载 并导入注册表即可(需要在安全模式下导入).

 

补充:

鉴于有好几个人问我这个问题,我再补充下,在安全模式下不用先用360重置的,可以先试下在运行中输入cmd,再在命令提示符下输入netsh winsock reset catalog 命令,如果提示WinSock目录已重置成功的话,直接重启电脑就行了,如果这个命令无效再用360试试。。。

posted @ 2010-02-03 09:54 漂_泊 阅读(5159) 评论(7) 编辑

     今天做项目的时候遇到一个问题,本来想发布一个wsp的解决方案,但是提示已经存在,需要删除原有解决方案。当我从SharePoint 管理中心中删除解决方案的时候提示已经部署,需要先收回解决方案,于是点击收回解决方案,这时问题来了,提示说是计划服务错误,然后解决方案的状态变成了“错误”,点击解决方案的时候操作栏不再显示有收回和删除命令,只有返回。。。于是上网查找解决办法,但无奈找了很久没找到,重启IIS也无效。现终于自己摸索出解决办法:

    重启系统的Windows SharePoint Services Timer服务,重启过后解决方案的状态终于不再显示成“错误”。因为我前面收回的有三个解决方案,而且三个全部报错,我打开一个解决方案后终于显示有删除解决方案的操作,点击后成功删除,但是当点击第二个错误的解决方案时还是不能显示删除,于是再次重启服务,成功显示,成功删除……继续上述步骤直至全部删除成功。。。

 

    此仅为遇到跟我相同问题的人提供一个解决的途经。。。

posted @ 2010-01-12 16:03 漂_泊 阅读(157) 评论(0) 编辑

     最近有个MOSS的项目,以前虽然有接触过,但无非就是一些关于MOSS的使用等,真正的二次开发没有做过,因为这个项目只能拼命啃了,网上相关的资料其实很多,但是要找到自己想要的比较困难.好了,直接进入正题....

 

     原来是想用Infopath来做表单的,但是因为客户需要的表单比较复杂,Infopath相对来说还不是太熟悉,所以决定用aspx页面来做,但是上网找了一圈,发现这方面的东西不多(也许是我自己水平有限没找到:(  )

     预期的最终效果为:点击XX文档库或列表,点击新建打开的是自定义的aspx页面.

     1.首先制作aspx页面,这个比较简单,用VS或是SharePoint Designer开发都可以.如果是用vs开发的会产生cs文件,请在开发完成之后发布项目,将aspx和bin目录下的dll取出.

     2.这里有两个选择,一个是作为全局应该,就是整个MOSS都能使用,另一种是只在特定站点使用.第一种需要把aspx页面放置到12/Template/Layouts下,dll文件放置到12/isapi目录下,后一种需要把aspx页面放在站点的目录下,dll文件放在站点的bin目录下即可...

     3.新建一个发布内容类型,将该内容类型设置成你的aspx页面,然后在文档库或列表中添加内容类型,这样在新建的时候就可以打开自定义的表单aspx页面了

posted @ 2010-01-04 11:09 漂_泊 阅读(401) 评论(2) 编辑
摘要: 符用于限定类型以及类型成员的申明,c#中有13种修饰符,按功能可分为三部分:存取修饰符,类修饰符和成员修饰符.存取修饰符:public:存取不受限制.private:只有包含该成员的类可以存取.internal:只有当前工程可以存取.protected:只有包含该成员的类以及继承的类可以存取.类修饰符:abstract:可以被指示一个类只能作为其它类的基类.sealed:指示一个类不能被继承.成员...阅读全文
posted @ 2009-04-16 09:45 漂_泊 阅读(140) 评论(0) 编辑
摘要: [代码]其中"."代表本机,当然也能设其它机器。阅读全文
posted @ 2009-02-24 09:51 漂_泊 阅读(201) 评论(0) 编辑
摘要: [代码]阅读全文
posted @ 2008-12-04 16:28 漂_泊 阅读(3341) 评论(0) 编辑
摘要: [代码]阅读全文
posted @ 2008-09-11 09:04 漂_泊 阅读(456) 评论(0) 编辑
摘要: 在Web开发中经常会遇到多行文本框,比如:备注栏。普通的文本框控件如果想要限制字符长度可以直接设置maxLength属性,但是,一旦将文本框设置为多行,虽说也可以设置maxLength属性,但是我们会发现这个功能已经失效了,于是我找了个新的方法,比较复杂了点,希望大家有好的意见可以给我提。1.首先在<head></head>中添加下列js脚本:[代码]2.在需要限制大小的文...阅读全文
posted @ 2008-09-10 11:25 漂_泊 阅读(556) 评论(0) 编辑

公告

IT新闻:
昵称:漂_泊
园龄:3年5个月
粉丝:3
关注:3
<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910