По какой-то причине я не могу понять, как вернуть значение ввода после того, как я что-то в него ввел. Это связано с этой проблемой , и я не могу ничего проверить без распознавания значения имени пользователя. Я использую jQuery 1.6.1 и Validate 1.8.1.
Вот форма HTML:
<form class="cmxform" action="register.php" method="post" name="signup" id="signup">
<ul>
<li>
<label for="username">Username: <em>*</em></label>
<input type="text" id="username" name="Username" size="20" class="required" placeholder="Username" />
</li>
</ul>
</form>
Перед отправкой формы я хочу убедиться, что могу видеть значение имени пользователя, которое я ввожу во входные данные. У меня есть предупреждение, которое возвращает значение имени пользователя, но предупреждение всегда ничего не показывает. Вот код JS, который я использую:
$(document).ready(function(){
var username = $("#username").val();
var parameter = "action=checkusername&username="+username;
$.validator.addMethod("checkAvailability",function(value,element){
$.ajax({
url: "dbquery.php",
type: "POST",
async: false,
data: parameter,
success: function(output) {
alert (username);
return true;
}
});
},"Sorry, this user name is not available");
// jQuery Validation script
$("#signup").validate( {
rules: {
Username: {
required: true,
minlength: 5,
checkAvailability: true // remote check for duplicate username
}
}
},
messages: {
Username: {
required: "Enter a username"
}
},
submitHandler: function(form) {
form.submit();
}
});
Должен ли я использовать что-то отличное от val()
, чтобы получить значение имени пользователя? Я так растерялся, почему он не дает мне ту ценность, которая мне нужна!