现在的位置: 首页 > 综合 > 正文

JQuery 控件

2013年05月26日 ⁄ 综合 ⁄ 共 3345字 ⁄ 字号 评论关闭

3、checkbox是否被选中。

用的是一个伪类的方法。不管是用客户端控件还是服务器端的控件,jquery中的方法都是

if ($("#checkboxid:checked").length==0){//未选中}

4、button按钮的onclick="window.close();"方法,对ie浏览器适用性最好。对火狐浏览器,需要修改浏览器配置,才可以适用。具体的调配置的过程是:

在Firefox地址栏里输入 about:config
在配置列表中找到 dom.allow_scripts_to_close_windows
点右键的选切换把上面的false修改为true即可。
注:默认是false,是为了防止脚本乱关窗口 

5、登录三次出错提示输入验证码的操作:

这个,我彻底没搞懂。是师父写的。

在后台做一个判断:

/// <summary>
        /// 登录时判断是否需要显示验证码
        /// </summary>
        /// <param name="logonName"></param>
        /// <returns>1需要输入验证码,0不需要输入验证码,-1用户不存在</returns>
        public static int LogonCheck(string logonName)
        {
            try
            {
                return LClsLogonMain.CheckIsInputValidateCode(logonName);//这个方法返回一个int类型的参数,
            }
            catch
            {
                return -100;
            }
        }

但是,在后台并没有哪个地方调用这个方法。

在前台做的判断是:

$('#txtUsername').blur(function() {
                $.ajax({
                    type: "POST",
                    url: "/CheckService.asmx/LogonCheck",
                    data: { logonName: $('#txtUsername').val() },
                    success: function(msg) {
                        if ($(msg).find("int").text() == "1") {
                            $('.areaValidateCode').show().find('input').val('');
                        }
                        else {
                            $('.areaValidateCode').hide();
                        }
                    }
                });
            });

            if ($.trim($('#txtUsername').val()) != '') {
                $.ajax({
                    type: "POST",
                    url: "/CheckService.asmx/LogonCheck",
                    data: { logonName: $('#txtUsername').val() },
                    success: function(msg) {
                        if ($(msg).find("int").text() == "1") {
                            $('.areaValidateCode').show().find('input').val('');
                        }
                        else {
                            $('.areaValidateCode').hide();
                        }
                    }
                });            
            }

html代码为:

<tr class="areaValidateCode" style="display:none;">
                            <td class="col1">
                                验证码:
                            </td>
                            <td class="col2">
                                <asp:TextBox runat="server" ID="txtValidateCode" CssClass="ipt-text" Width="50px"></asp:TextBox>
                                <div style="float:right;">
                                <img src="CreatePic.aspx" id="validateImg" />
                                <a href="javascript:refPic('validateImg');"><span>看不清楚</span></a>
                                </div>
                            </td>
                        </tr>

对应的asmx文件中的方法的代码:

/// <summary>
            /// 临时登录使用的WebService
            /// </summary>
            /// <param name="logonName">用户帐号</param>
            /// <returns>1需要输入验证码,0不需要输入验证码,-1用户不存在</returns>
            [WebMethod]
            public int LogonCheck( string logonName )
            {
                  try
                  {
                        return LClsLogonMain.CheckIsInputValidateCode( logonName );
                  }
                  catch
                  {
                        return -100;
                  }
            }

6、display:none;与visible:false;的区别

发现这两个属性给tr,都可以控制tr看不到。两者的区别是:

display:none;依然在客户端输出,但是在显示的时候,不显示了。但是查看源代码时,还是可以看到的。

而,visible:false;不在客户端输出。

在这里,需要注意的是:visible:false;的属性,如果在jquery中取的话,用的也是伪类的办法,就是用$("#id:visible").length与0比较,来判断是否该属性。

抱歉!评论已关闭.