【发布时间】:2012-07-24 14:39:06
【问题描述】:
我正在使用链接到它的 jquery ajax 脚本制作的网站上有一个输入字段。每次按下某个键时,ajax 脚本都会搜索与输入字段的值匹配的字符串,如果找到该字符串,脚本会更新页面上的一个 div 并将输入字段的值设置回 null,以便用户有一个新的空间来输入一个新的字符串。但是,如果用户键入第一个字符串并且脚本使用响应数据更新 div 并清除输入字段值,则用户无需等待一两分钟即可再次开始键入,他们在字段中键入的任何文本(在接下来的两秒钟左右)在他们输入后被删除。我只是想阻止他们的文本被删除,如果他们要在第一个字符串被验证后不久输入一个新字符串
这是更新 div 的 jquery 脚本,这是由输入(带有 id:searchbar)的 onkeypress 事件触发的:
function search(status){
if($("#searchbar").val().length > 1){
$.get("http://www.website.com/subfolders/some_php_script.php",
{l: status, q:$("#searchbar").val()},
function(data){
$("#div-to-update").html(data);
}
);
}
}
编辑:#searchbar 不在被更新的 div 内
【问题讨论】:
-
你可以用
keyup代替keypress。 -
搜索栏是否在 div-to-update 中?
-
.unbind()keyup函数当你将引用传递给服务器获取数据,在HTML更新后重新bind()keyup函数。 -
当我使用任何 keyup/keydown/keypress 时它会这样做。到目前为止,我尝试解除绑定和重新绑定,但没有成功。
标签: jquery ajax string forms input