文件上傳控件瀏覽按鈕只讀

在使用EXT做文件上傳時,上傳控件的輸入框需要設置爲只讀,只能通過點擊【瀏覽】按鈕來上傳文件,禁止用戶通過鍵盤鼠標輸入字符,通過設置readonly屬性,輸入框是不允許用戶輸入了,但是發現點擊【瀏覽】按鈕也不響應了,無法上傳文件。

1 htmlfile研究

在對HTMLfile元素做研究,也發現設置readonly會存在同樣的問題,網上查了查資料,可以通過禁用鼠標鍵盤的事件來達到這個效果,代碼如下

 

 

甚至可以繞一點彎,設置一個隱藏的file來到達目的,徹底禁止鼠標輸入,代碼如下:

2 extfile研究

因此,通過屏蔽extfile控件的鍵盤和鼠標事件,應該也可以做到只讀效果,但是通過addListerners,添加keydown事件,發現是不起作用的。通過查資料發現,對於Ext.form的命名空間下的所有的控件,起對於鍵盤鼠標的事件,默認是關閉的,我們必須設置【enableKeyEvents: true】,來開啓,然後處理initEvents事件就OK了,示例如下:

 

 

3 處理特定鍵盤事件

對於鼠標單擊、移動等等事件,都和Ext.EventObject相關,例如相應鍵盤中按下的A鍵:

不允許用戶輸入大寫字母:

  

發佈了30 篇原創文章 · 獲贊 6 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章