代码改变世界

Jquery 在表单验证里面的一些小麻烦

2008-04-20 16:38  废墟中的垃圾  阅读(487)  评论(0)    收藏  举报

这里主要说一下三个和js不同的地方。

前提是表单元素
一般来说,HTML标记里面的属性也就是 Js 要设置的对应值。
但是在Jquery 里面却有一些不同。而且是一般的时候不太会注意的。

第一个:value 为空。
如果是js 则判断 element.value == ""
但是 jquery 里面要判断的是 $(element).attr("value") == undefined 特别注意是 endefined 不是 "endefined"

第二个:多选框checked属性
如果判断一个多选框是否被选中,那么通过什么方法呢? 在js 里面没有像asp.net 服务器端的onSelectedChanged,但是比较好的就是 多选矿还是有onclick函数(注明,这里不包括不用点击事件改变选中状态的情况)的,而且这个函数是在状态修改之后,也就是selectedChaged以后。这样你可以通过onclick的函数里面来判断是否选中,然后进行相关的操作。
上面好像说了些没用的,呵呵。现在入正题。在html里面一个多选矿的checked 要写成 checked = "checked"。但是在jquery里面的判断却不是如此。要用$(element).attr("checked") = bool 这样来判断(bool 表示布尔型的值)。当然同理还有几个属性,readonly 和 enable

第三个:单选框的遍历
在js里面,我们是通过 element 的for 循环然后不断判断每个元素是否被选中(这里参考第二个),然后进行相关操作。
在jquery 里面,可以直接获得element.each 进行相关操作。这里提供了非常方便的循环方法。

以上为初步在表单验证里面的不同。以后的发现回陆续发出来。