Я хочу знать, как я могу проверить с помощью Javascript, что если пользователь ввел имя пользователя во время создания учетной записи, уже присутствует в базе данных и просит пользователя набрать любое другое имя пользователя?Как проверить имя пользователя с помощью Javascript?
ответ
- Приложить слушателя к
blur
событие для<input />
элемент. - Использование AJAX отправить запрос на сервер (со значением поля в качестве параметра)
- На проверку на стороне сервера ли данное имя пользователя уже используется или не
- Основываясь на дисплее отклика сервера (или нет) Это имя пользователя уже используется сообщение
JQuery (Я слишком ленив для чистого JS) + PHP пример кода:
<form ...>
...
<input type="text" name="username" id="input-username" />
<p class="error"></p>
...
$("#input-username").blur(function() {
$.post("/check-username.php", { username: $(this).val() }, function(data) {
if ("0" == data) { /* username in use */
$(this).next("p").text("This username is already in use.</p>");
} else { /* username is fine */
$(this).next("p").empty();
}
});
});
<?php
$username = $_POST['username'];
// check whether given username exists in database
$usernameExists = ...;
echo $usernameExists ? '0' : '1'; // 0 if exists, 1 if not.
Ответ AJAX. Если вы должны подтвердить наличие базы данных, вам необходимо сделать звонок на сервер. Единственный способ сделать это (EDIT: правильно) без перезагрузки страницы AJAX. Как вы его реализуете, это зависит от того, какие библиотеки javascript вы используете, если таковые имеются, и каков ваш сервер. Я предлагаю вам немного поискать и прочитать на нем - это довольно распространенный случай использования.
* Единственный способ сделать это без перезагрузки страницы - AJAX. * Ну ... технически AJAX - не единственное решение, но это единственное, что стоит рассмотреть. – Crozin
@Crozin: Это правда. Вы могли бы сделать что-то вроде загрузки каждого имени пользователя на странице или что-то вроде AJAX-esque, как дурацкий iframe. Существует бесконечное количество неправильных способов сделать это. –
Ajax не может быть единственное решение, поскольку имена пользователей общедоступны. Простым способом является просто иметь RDF/XML-документ в какой-то момент (который просто обновляется с каждым добавленным пользователем), в котором есть список всех пользователей вашего сайта, с которыми вы легко можете просто переходить с Javascript DOM, чтобы узнать, является ли этот пользователь уже используется. Вы также заставляете их платить вычислительную мощность, а не вы, в зависимости от того, насколько вы хороши, это преимущество или недостаток.
Возможно, но это решение довольно плохо. Это стоимость O (n) для поиска, огромная стоимость полосы пропускания, тонны дорогостоящих обновлений документов (с учетом ресурсов) и т. Д. Напротив, лучшее решение использует гораздо меньшую пропускную способность и работает быстрее и эффективнее. –
Обновления документов - это нулевой аргумент, что XML-файлы, очевидно, будут динамически генерироваться каждый раз, когда он запрашивается, также он может быть использован по другим причинам, поэтому я предложил RDF/XML, так же как эту страницу, на которую я печатаю является.Пропускная способность также ниже, чем можно было ожидать. Выделенный RDF-файл для размещения всех имен этого сообщества будет примерно на 1/4 размера в символах того, что нужно загрузить для отображения этой страницы. – Zorf
Помимо плохой производительности, на самом деле это ортогонально использовать AJAX. Вы можете использовать AJAX или другое решение (например, скрытое iframe) для прямого поиска (/ isUsernameTaken? Username = foo) или для доступа к XML-документу (/allUserNames.xml). –
Лично я хотел бы использовать плагин проверки JQuery, чтобы сделать вещи простыми. http://bassistance.de/jquery-plugins/jquery-plugin-validation/
Но в целом он будет состоять из небольшого запроса AJAX к серверу (то есть. JSON объект) с именем пользователя и сделать «поиск» в базе данных и возвращать либо истина/ложь после того, как пользователь нажимает введите или в текстовое поле (присоедините прослушиватель событий). Затем в ответе отклика измените элементы DOM по вашему выбору, чтобы указать своим пользователям, существует ли имя учетной записи в базе данных или нет.
- 1. Как проверить имя пользователя с помощью regexp?
- 2. проверить имя пользователя с помощью jQuery
- 3. проверить имя пользователя существует с помощью ajax
- 4. Как проверить, существует ли имя пользователя с помощью PDO?
- 5. Получить имя пользователя Windows с помощью javascript
- 6. Как проверить имя пользователя html
- 7. Отобразить имя пользователя окна с помощью javascript
- 8. Проверить имя пользователя. Выпуск
- 9. Как проверить существующее имя пользователя
- 10. Как проверить имя пользователя Twitter с помощью Regex
- 11. Как проверить имя пользователя и пароль с помощью PHP
- 12. Как проверить имя пользователя и пароль с помощью массива в
- 13. BackboneJS: Проверить имя пользователя
- 14. проверить имя пользователя через ajax
- 15. Как проверить текущего пользователя с помощью cfengine
- 16. Как проверить имя пользователя, используя php?
- 17. Ajax Как проверить, существует ли имя пользователя?
- 18. Как проверить ввод пользователя с помощью Javascript add Event Listener?
- 19. Как проверить зарегистрированного пользователя с помощью Javascript в sharepoint
- 20. JavaScript Имя пользователя аутентификации
- 21. как проверить имя пользователя перед регистрацией?
- 22. Как проверить имя пользователя и пароль по URL-адресу с помощью javascript
- 23. Проверить имя пользователя существует с помощью PHP и PDO?
- 24. проверить имя пользователя, пароль и электронную почту с помощью php
- 25. Как проверить с помощью Javascript?
- 26. Как получить имя пользователя с помощью идентификатора пользователя Microsoft?
- 27. Как проверить, было ли имя пользователя взято с разбором?
- 28. Проверить имя пользователя, используя AJAX
- 29. Аутентификация форм - как проверить имя пользователя и pwd неактивного пользователя?
- 30. проверить имя пользователя по regexp
Короткий ответ; с только javascript: вы не можете –
Итак, что заставляет кого-то использовать tamperdata, чтобы опубликовать собственное имя пользователя после проверки JavaScript на стороне клиента? – rook
@ The Rook: Это приличный момент, но само собой разумеется, что проверка на стороне клиента не должна быть последней строкой защиты для чего-либо. Это не означает, что не должно быть проверки на стороне клиента. Это полезно пользователю, а не целостности данных. –