2015-04-03 46 views
1

我有要求在GwT中有一個微調字段,但是因爲我使用舊版本的GWT,所以我無法獲得我需要的確切功能。在GWT中添加html和java腳本代碼

現在我正在使用由GWT提供的GWT HTML小部件。

使用部件的一部分,當我加入下面的代碼的HTML控件

HTML spinnerHours = new HTML("<p> Time in Hours : <INPUT ID=\"hours\" TYPE=\"NUMBER\" MIN=\"00\" MAX=\"23\" STEP=\"1\" VALUE=\"00\" SIZE=\"6\" onkeypress=\"return validate(event)\"> <script type=\"text/javascript\"> function validate(key){ var keycode = (key.which) ? key.which : key.keyCode; var hours = document.getElementById('hours'); if ((keycode < 48 || keycode > 57)){return false;}else{if (hours.value.length <2){return true;}else{return false;}}}</script>"); 

但是這是寫在script標籤做一些驗證代碼沒有按預期工作

的java腳本在單獨的瀏覽器中測試時工作正常,即不允許鍵入字母或特殊字符,它的最大長度爲兩位數

我們可以用這種方式實現嗎?有人可以幫助我如何使這項工作或任何其他建議?

謝謝

回答

0

你可以這樣做。或者創建一個html div,調用一個jsni方法創建你的微調器,它可以調用其他的jsni方法,在其中你可以編寫驗證方法。

最好的方法是使用複合類,使用流程面板,選擇框/組合框/文本框創建自己的gwt小部件版本。您可以在純java中定義您的點擊處理程序,valuechange處理程序或任何其他處理程序,然後在java中執行驗證。

Here is guide how to create a new widget using composite