2010-08-17 2 views
0

Я пытаюсь сделать якорный тег причиной проверки как клиента, так и сервера. У меня есть этот код:Проверка привязки привязки

$(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; 
      } 
     } 

Но когда я пытаюсь проверить это, отключив яваскрипт ссылки (отправить) не обратную передачу. Почему это происходит?

Теперь, как я могу убедиться, что проверка выполняется на стороне сервера после обратной передачи.

ответ

0

Я бы предположил, что это из-за 'onclick = validate()'. Вместо этого вы должны зарегистрировать это событие внутри «$ (document) .ready (function()», как будто у вас есть другой JavaScript. Таким образом, если JavaScript недоступен, форма отправляется нормально, а ваши проверки на стороне сервера in.

Смежные вопросы