由於該控制元件目前不可用、未啟用或其型別不允許,因此無法將焦點移向它
阿新 • • 發佈:2019-02-15
目錄
問題截圖
問題來源
問題是這樣的:在本地測試沒有問題,在現場升級補丁後測試有js報錯
分析問題
遇到問題首先想到是百度,百度沒有找到好的解決方法,就只好自己解決了 呵呵
- 思路一:
看錯誤是index.jsp的1046行發生的,找到jsp發現沒有這麼多行,仔細看jsp裡面用了很多include標籤,知道了通過錯誤行找到問題的可能性比較小,就換一種思路
- 思路二:
根據錯誤資訊來分析問題,可能是找某個input框想獲取焦點,但是這個input框沒有找到導致的
找jsp中獲取焦點的程式碼,發現引起問題的js程式碼如下:
function changeUsername(){
var form = document.getElementById("loginForm");
form.userName.focus();
}
問題出在:在某些情況下獲取username的input框不存在,再去獲取焦點導致的
分析本地測試沒有問題,現場升級補丁後測試有問題,對比環境,發現用IE版本一樣,經過前端確認就是IE版本導致的
解決問題
解決IE版本不同導致的問題,新增判斷,在某些情況導致input框不存在時,就不去獲取焦點