Не похоже, что вы декларируете usercheck
где-либо (или, по крайней мере, не устанавливаете его значение во фрагменте). Кажется, что не хватает ...
$('#username').keydown(function () {
var usercheck = $(this).val(); // ...this line.
// etc.
});
Но у вас также есть проблема с setTimeout
. В существующем состоянии checkUserName(usercheck)
вызывается немедленно, а затем возвращаемое значение передается в setTimeout
.
Поскольку вам нужно передать аргумент, вы можете заключить вызов в checkUserName
в новую функцию, которая будет вызываться по истечении времени ожидания и, в свою очередь, будет вызывать checkUserName
:
setTimeout(function () {
checkUserName(usercheck);
}, 1000);