标题的道歉。JQuery自动完成不工作,直到页面刷新和/或随机事件后
我有一个页面使用两个脚本,这两个脚本都在相同的表单上。
这是一个自动保存脚本(因为表单上有很多输入,我不希望用户丢失数据)。
<script rel="text/javascript">
$(function() {
$.post("autosave.php", "json");
setInterval(function() {
$.post("autosave.php", $("form").serialize());
}, 2000);
});
</script>
哪个效果不错。 autosave.php只不过是一个简单的数据库查询更新从表单获取的POST数据中的各个字段。
我还在我的表单中为电子邮件字段使用自动完成脚本。
<script rel="text/javascript">
$(function() {
var availableTags = <?php include('view-job-q-em-search.php'); ?>;
$("#sendy_to").autocomplete({
source: availableTags,
autoFocus:true
});
});
</script>
这也非常实用,在这个PHP脚本又只是一个简单的数据库查询,返回JSON数组。
但是,它们并不能很好地协同工作,而且它们的确适用于时尚。
有趣的是,如果我在窗体上的某个文本框中输入了单个字符,然后刷新,自动完成功能就开始工作,但当页面第一次加载时,它不会运行。这就像它卡住了等待自动保存执行它的第一个动作之前,在自动运行踢。
我很熟悉jquery使这些东西工作,但还不够好,但发现异常的,所以任何帮助或想法使这项工作会很好。
我还使用通用的外部脚本jquery.min,jQuery的,UI这是在页面的<head>
不是按时间间隔触发自动保存功能,而是尝试将其保存在任何字段的“模糊”事件上。我认为这将解决问题。还有不同的方式来处理自动保存。您可以为ex定义一个变量:'var isFormDirty = false;',然后当用户编辑某些内容时,会使其成为'true'。当且仅当'isFormDirty === true'时,才会触发'blur'事件的自动保存。希望你有一些想法! – deepakb