2013-03-08 37 views
0

我有SuggestBox在使用GWT的彈出窗口中獲取用戶輸入並顯示suggestions在SuggestBox中防止無效的用戶輸入?

SuggestBox suggestBox = new SuggestBox(myData, new TextArea()); 

如何防止用戶把字符對於沒有建議存在TextArea

我認爲SuggestBox檢查已放入TextArea的文本,然後顯示建議。但是我怎麼能阻止不匹配的角色呢?

+0

爲什麼你會打字,並找出不匹配他的輸入塊的用戶? – SSR 2013-03-08 14:34:48

+2

正如其名字所暗示的,SuggestBox是關於_suggesting_的東西;這不是_combo box_。它可能會以這種方式工作,但相信我,有這麼多的陷阱,從頭開始或使用類似[GWT Chosen](http://jdramaix.github.com/gwtchosen/) – 2013-03-08 14:47:58

回答

1

如果你真的很需要那

TextArea area = new TextArea(); 
      area.addKeyDownHandler(new KeyDownHandler() { 

       @Override 
       public void onKeyDown(KeyDownEvent event) { 
        if(event.getNativeKeyCode()==13 ||....){//Add remaining key codes which you dont want.For example i added enter key which keycode is 13.Remove that and add your key codes there. 
         event.preventDefault(); 
       } 
       } 
      }); 

然後

SuggestBox suggestBox = new SuggestBox(myData,area); 
+0

是一個很好的一般方法,無論如何,我只想防止某些鍵/字符,如果沒有建議可用。因此,我不能僅僅防止一個鍵碼,因爲我當然不想在開始時阻止任何字符。只有符合建議的字符。因此,顯示建議下拉菜單,但沒有隱藏,因爲用戶根本無法輸入任何無效字符。但我錯過了如何實現這一點的任何想法... – membersound 2013-03-09 14:18:56

+0

我不知道它是多少昂貴..輸入所有建議的項目在列表中的第一個字母,然後檢查用戶打字時。如果信件不是在列表中找到返回,否則提示.. – 2013-03-09 15:59:09