假设我有这样的表格:
Name:<input type="text" name="xxx" id="name"/>
Type:<select>
<option>xx</option>
<option>xx</option>
</select>
<input type="submit" disabled="disabled" id="sub" />
现在,我想检查以确保用户名是唯一的。并且只有在名称唯一的情况下才能使用提交按钮。所以我使用jQuery AJAX 来查询数据库。
但现在我想知道什么时候检查它?
首先我使用这个:
$("#name").blur(function () {
$.get(........);
}
但是现在,在现代浏览器中,它们提供了表单数据保存和auto-filled
功能。所以当用户dbclick输入时,浏览器会提供一个数据列表(历史数据)供用户选择(见下图)。
当用户选择其中之一时,blur
事件不能被触发。我也尝试使用该change
事件,但是当用户使用键盘输入时,它会导致对服务器的请求过多。
如何解决这个问题?
更新: 以下答案都不是完美的。现在我只是在我的页面中使用一个计时器来检查“名称”是否每 0.5 秒更改一次。看来符合我的要求。