標題的道歉。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