2013-11-25 4 views
0

У меня есть регистрационная форма, и я хочу сделать что-то вроде этого: когда пользователь зарегистрируется и вводит имя пользователя, а затем проверяйте базу данных, что этот пользователь уже находится в базе данных или нет. Вот почему, когда пользователь вводит имя пользователя и перейдите в другое поле, затем проверьте его.Как использовать событие текстового поля

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

+2

Звучит легко настраивать на событие управления, например ** TextChanged ** прослушивателя в веб-формах, не так ли? –

+0

как его использовать, пожалуйста, скажите мне, используя пример –

+0

Использование событий текстового поля: http: //msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.textchanged (v = vs.110). aspx –

ответ

0

Поскольку вы не указали разметку, я предполагаю разметку следующим образом.

<form id="form1" action="~/something.aspx" method="post"> 
    <label>Username</label>: 
    <input type="text" id="username" name="username" onblur="validate();"/> 
    <br/> 
    <label>Password:</label> 
    <input type="text" id="password" name="password"/><br/> 
    <input type="submit" value="submit"/> 
</form> 

Основная идея заключается в том, что вам нужно написать JavaScript для поля имени пользователя, когда фокус находится вне (onblur события)

Вот Javascript для приведенного выше фрагмента кода.

<script type="text/javascript"> 
function validate() 
{ 
    //make an ajax call to retrieve the username 
    $.ajax({ 
     url:'validate.aspx/ValidateUsername', 
     dataType: 'json', 
     //... make necessary adjustments in ajax call so as to 
     //call the web method in validate.aspx page 
     success: function(data){ 
      if(!data.d){ 
       alert('username already exists !'); 
       document.getElementById('username').focus(); 
      } 
     } 
    }); 
} 
</script> 

Теперь определен ваш веб-метод для определения ajax.

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public static string ValidateUsername() 
{ 
    //Now query the database to check if the username exists. 
    //If the username exists return 'true' other wise return 'false' 
} 

Надеюсь, это поможет.

0

Это лучше всего сделать с использованием AJAX, а не на серверных событиях, это означает, что вы можете POST асинхронно для лучшего UX, например.

<script type="text/javascript"> 

    var lookupTimer; 

    $('#username').change(function() { 
     clearTimer(lookupTimer); // cancel previous lookup if user types again 
     lookupTimer = setTimeout(function() { 
      $.post("myServer/checkUsername", { data: $(this).val() }, function(result) { 
       // handle result 
      }); 
     }, 1000); // send query after 1 second when user finished typing 
    }); 

</script> 

<input id="username" type="text" /> 
0

Я хочу использовать потерянное фокусное событие в asp.net для регистрации страницы, тогда как использовать это при использовании введите имя, затем проверьте это имя в базе данных или нет, если оно уже существует, тогда укажите ошибку «имя пользователя уже существует», иначе введите это имя.

+1

Это не отвечает на вопрос! Измените свой вопрос, а не отправляйте свое требование в качестве ответа. –

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