我有一个可以输入的文本框。文本框不断从数据库中获取数据。用户可以在文本框中键入内容,并将其保存在keyup
的数据库中。问题是,有时当我打字时,它会被来自数据库的GET请求所取代,后者会替换文本区域的值。
我想要实现的是当用户键入时,keyup
函数上发生POST请求时,GET请求被取消。当用户没有输入时,继续GET请求。
我的代码:
function timers() {
tmrAjax = setInterval(function () {
$.get('<?php echo base_url('home/get') ?>', function (html) {
$("[name=text]").attr('id', 'text');
$("#text").val(html);
// $("#text").removeAttr("disabled");
});
}, 1000);
}
timers();
$(window).blur(function () {
clearInterval(tmrAjax);
$("#text").removeAttr("id");
// $("#text").attr("disabled", "disabled");
}).focus(timers);
$(document).ready(function () {
$("#text").keyup(function () {
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>home/save",
data: "text=" + $("#text").val()
//onsuccess
//onerror
//etc
});
});
});
感谢您的帮助!