手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Javascript

[转载]超强大的jquery formValidator

升级记录
2.0
这次又做了一次比较大的调整:增加了FunctionValidator这种校验方式,现在你可以调用外部函数了;调整了内部部分算法;
你打开下载压缩包里的index.html,将会看到全新的演示。
1、增加FunctionValidator校验方式。作用:你可以用外部函数对表单元素进行校验和处理,返回true/false表示校验是否成功;返回字符串表示自定义错误信息,校验失败;如果没有返回值表示处理过程,校验成功。范例代码如下:
$("#sfzh").formValidator({onshow:"请输入15或18位的身份证",onfocus:"输入15或18位的身份证",oncorrect:"输入正确"}).FunctionValidator({fun:isCardID});
fun这个参数给你的函数传递了2个参数(该表单元素的值,表单元素element) 。具体情况,请看API帮助文档
2、当你调用PageIsValid的时候,如果未校验通过,则给onError传递2个参数(第一个校验没通过元素的错误信息,第一个校验没通过元素element)。范例代码如下:
$.formValidator.initConfig({onError:function(msg){alert(msg)}});
3、AjaxValidator校验方式增加一个配置参数buttons(你点提交的按钮(组)jQuery对象)。作用:当你触发了ajax校验,buttons里对应的按钮(组)就会灰掉,一直等待服务器返回数据为止。范例代码如下:
$("#test1").formValidator({...}).InputValidator({...}).AjaxValidator({
      url : "Default.aspx",
      datatype : "json",
      success : function(data){...},
      buttons: $("#button_id"),
      error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
      onerror : "该用户名不可用,请更换用户名重新",
      onwait : "正在对用户名进行合法性校验,请稍候..."
});
4、由于增加了自定义错误信息的功能,为了跟FunctionValidator校验方式里"fun"函数返回意义统一,更改了formValidator里的onvalid参数返回的意义,给大家带来不便请谅解。返回true/false表示校验是否成功;返回字符串表示自定义错误信息,校验失败;如果没有返回值表示处理过程,校验成功。

» 阅读全文

Tags: jquery, javascript, form, validator

[鸟食轩]最亲密接触Dhtml&JScript开发细节

本文来自博客园的鸟食轩,作者是微软MVP

鸟食轩 Microsoft .NET[C#] MVP 2003

由于该作者在开发中经常用到JS,并且将自己写的文章汇总到了一起,因此记录下来,以做收藏,同时也可以当成学习用(虽然作者是C#方面的MVP,但是他在JS方面的造诣也很深哦)

» 阅读全文

Tags: 鸟食轩

Comet研究

说实话,在看到这个Comet被人提起来的时候,我真的不知道是什么意思。翻开金山词霸,结果求伯君同学告诉我,这是彗星的意思。

彗星?怎么着也不能理解。。。于是乎G了一下,发现原来Comet并不是一个新技术,而是和AJAX一样也是一个炒冷饭的东东。

目前用的最多的使用Comet的大概是两种方法,一种是iframe,一种就是ajax。

用ajax的就没有什么好讲了,无非就是setIntval();定一个时间循环往复,往复循环的用ajax读回数据。

用iframe呢。则是利用现在的一些JS类库(当然不用也可以)生成一个Iframe 的Element,在这个页面里打开一个PHP或者其他的动态网页,再由那个网页不停的生成生成再生成,然后通过iFrame的window.parent.xxx.innerHtml = 'this...value...';通过这种方法将iframe里得到的内容生成到主页面上。

细看看这两种,哪种不是炒冷饭?只是冠以一个好听的名字而己,自从2001年,网络聊天室开始有无刷新聊天时,iframe取得数据返回主页面这种方法就早己经存在。AJAX虽然是最近几年的新酒,但何尝不是原来的那些方法的集合?只是以前可能用的是setIntval定时用window.location.reload();来进行页面刷新,现在是用AJAX取回数据再通过innerHtml来更新DIV区域而己。

自此,对Comet有点失望。毕竟对这些都只是一些简单的封装,没有什么新的东西。

 

Tags: iframe, ajax, comet

IE和Firefox下event乱谈

本文属于多次转摘的文章,来自于Javaeye,但具体地址不明。文章写的挺详细,适合经常在IE和FF下面进行开发的人员。这么多种的浏览器呀,害死多少人。。。

» 阅读全文

jQuery的bind函数

jQuery学习之bind

在mootools里面,如果要为某个DOM或者HTML标签等绑定一个操作用的是addEvents,移除一个事件的时候用的是removeEvents,在jQuery里面就相对比较简单,直接用bind函数和unbind函数就行了。

例如为一个button添加一个click。可以这样操作 

XML/HTML代码
  1. <input type='button' id='myBtn'>  

这是一个button,现在我们要为他添加一个事件

JavaScript代码
  1. <script>   
  2. $('#myBtn').bind("click",function(){   
  3.     alert('click');   
  4. });   
  5. </script>  

这样,我们就为这个button绑定了一个click的事件。

bind函数可以有三个参数,当第二个参数不是一个函数,而是一个数据对象时,它将默认做为bind第三个参数(函数)的参数。例如:

XML/HTML代码
  1. <script>  
  2. function showAlert(events){   
  3.     alert(events.data.foo);   
  4. }   
  5. $('#myBtn').bind('click',{foo:'click'},showAlert);   
  6. </script>  

点击时,同样会显示:click

这些就是bind的一些基本用法,当然还有一些方法

比如在绑定方法的时候,用的是return false;可以让这个方法失效

 

JavaScript代码
  1. <script>   
  2. $('#myBtn').bind('click',function(){   
  3. return false;   
  4. })   
  5. </script>  

这样,刚才绑定的click又失效了,不过,这种方法往往用在submit提交的时候比较多。

还有一些方法可以取消默认行为和阻止事件起泡:preventDefault 和stopPropagation

例:

JavaScript代码
  1. <script>   
  2. $('#myBtn').bind('click',function(event){   
  3. event.preventDefault();//取消默认的click行为   
  4. });   
  5. $('#myBtn').bind('click',function(event){   
  6. event.stopPropagation();//阻止click事件起泡   
  7. });   
  8.   
  9. </script>  

Tags: jquery