锚标签验证

时间:2010-08-17 23:05:55

标签: asp.net

我正在尝试制作一个锚标记,导致客户端和服务器验证。我现在有这个代码:

$(document).ready(function () {

              $('div#imgEmailVerifyLoader').hide();

              $('a#btn_SubmitContactMessage').click(function () 
              {
                  if (Page_ClientValidate()) // this will trigger all validators on page  
                  {
                      $('div#imgEmailVerifyLoader').show('slow');
                      window.Form_OnMasterPage.submit();
                      return true;
                  }
                  else 
                  {
                      return false;
                  }

              });

          });  

<a id="btn_SubmitContactMessage" href="Contact.aspx"  onclick="Validate();" runat="server">SUBMIT</a> 

这会正确执行客户端验证并显示错误消息。我有页面上每个文本框的验证控件。我还在代码中添加了一个服务器点击事件处理程序:

 btn_SubmitContactMessage.ServerClick +=new EventHandler(btn_SubmitContactMessage_ServerClick);


        }

        protected void btn_SubmitContactMessage_ServerClick(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {

                RequiredFieldValidator4.ErrorMessage = "show";
                return;
            }
        }

但是当我尝试通过关闭javascript来测试它时,链接(提交)不会回发。为什么会这样?

现在,我如何确保在回发后在服务器端进行验证。

1 个答案:

答案 0 :(得分:0)

我想是因为'onclick = validate()'。而不是这样做你应该在'$(document).ready(function()'中注册该事件,就像你已经获得了其他JavaScript一样。如果JavaScript不可用,那么表单会正常提交并且你的服务器端验证会启动英寸