我有一个总共五个输入的表单(用于用户注册)。我想让用户知道他们选择的用户名是否可用,而无需点击“提交”按钮。
如何在用户输入输入字段后提交表单(使用jQuery和AJAX)(如Twitter那样)?我知道我可以在change
上提交表单,但是这会在每个输入的字母上提交表格,对吗?
我该怎么办?
答案 0 :(得分:2)
使用模糊事件进行ajax调用。模糊事件在失去焦点时发送给元素
$( "#your_element_id" ).blur(function() {
alert("hello world");
});
答案 1 :(得分:1)
以下是包含setTimeout
和keyup
事件的解决方案:Solution
// get input element
var $input = $('#userNameInput');
var inputTimeout;
function checkUserName() {
// ajax code
alert('request');
}
// on keyup event
$input.keyup(function(){
// if already set
if (inputTimeout) {
clearTimeout(inputTimeout);
}
inputTimeout = setTimeout(checkUserName, 1000);
});
答案 2 :(得分:0)
jquery
使用focusout
:
$(document).ready(function () {
$( "input" ).focusout(function() {
$.ajax({
//your check here
}).done(function() {
alert("your username is already in use");
});
}
});
答案 3 :(得分:0)
试试这个:
$(document).ready(function () {
$("input propertychange", function () {
$.ajax({
type: "POST",
url: url,
data: postdata,
//dataType: "json",
success: function (data) {
....................
}
});
});
});