最近一直有編輯反饋後台錄入的時候未儲存自動頁面跳轉導致錄入的資料丟失,經過詳細詢問發現編輯使用的是筆記本,錄入時有錯誤的地方會按backspace(退格鍵)鍵刪除錯誤的內容,但是經常按backspace(鍵格鍵)時頁面經常自動轉跳,由於未儲存導致資料丟失。很明顯資料丟失和backspace鍵有關,在這想到了backspace鍵在瀏覽器下是乙個後退的功能鍵,預設情況下在瀏覽器沒有輸入焦點時按下是後退一頁。
編輯在錄入時刪除錯誤內容時輸入框丟失焦點再按退到的前一頁發生跳轉。
編輯使用的後台是我們自己開發的後台,在開發時考慮的不周導致,按正常來說在錄入頁面跳轉時應該有個js彈窗提示資料未儲存是否跳轉,由於程式設計師的疏忽未新增這個功能,所以最好的處理辦法就是新增修改表單未儲存離開時用js彈窗提示就可以了,如下**: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function
formisdirty(form)
}
else
if
(type ==
"hidden"
|| type ==
"password"
|| type ==
"text"
|| type ==
"textarea"
)
}
else
if
(type ==
"select-one"
|| type ==
"select-multiple"
)
}
}
}
return
false
;
}
window.onbeforeunload =
function
(e)
// safari瀏覽器
return
"對不起,頁面資料已做修改,尚未儲存,確定要重新整理或離開本頁面?"
;
}
};
如果感覺上面的**麻煩可以直接禁用backspace的後退功能,如下面 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function
forbidbackspace(e)
//禁止後退鍵 作用於firefox、opera
document.onkeypress = forbidbackspace;
//禁止後退鍵 作用於ie、chrome
document.onkeydown = forbidbackspace;
js禁止後退鍵(Backspace)
處理鍵盤事件 禁止後退鍵 backspace 密碼或單行 多行文字框除外 function banbackspace e if flag1 禁止後退鍵 作用於firefox opera document.nkeypress banbackspace 禁止後退鍵 作用於ie chrome docume...
防止backspace鍵後退網頁
防止backspace鍵後退網頁 document.onkeydown function event if event.keycode 8 backspace的keycode 8 var type document.activeelement.type 獲取焦點型別 if type text typ...
vim 退格鍵(backspace)不能用
兩個步驟 1.去掉討厭的有關vi一致性模式,避免以前版本的一些bug和侷限 set nocompatible 2.backspace有幾種工作方式,預設是vi相容的。對新手來說很不習慣。對老vi 不那麼熟悉的人也都挺困擾的。可以用 set backspace indent,eol,start 來解決...