Android網頁Textbox不彈出鍵盤

有時因為欄位是要用Barcode刷入資料,所以當點到Textbox時希望不要彈出鍵盤。因為是系統特性,所以只能從Javascript下手。

會彈出鍵盤是因為欄位是屬於可編輯欄位,所以只要想辦法把欄位設為唯讀,再利用keypress來讀入輸入的每個字元,組合起來存入欄位,就可以達到我們要的效果。

以下為部份片段程式(這裡使用JQuery),

  1. <input type="textbox" class="NotShowKB" id="txtNormal" name="txtNormal" value=""  />
  2.  
在要控制的元件上加入class[NotShowKB]

  1.   $(document).ready(function(){
  2.  
  3.       $(".NotShowKB").attr("readonly", "readonly");
  4.       //$(".NotShowKB").attr("disabled", "true");
  5.  
  6.     $(".NotShowKB").click(function(){
  7.         $("#txtNowObj").val($(this).prop("id"));
  8.         $(this).css('background-color','yellow');
  9.     });
  10.     $(".NotShowKB").blur(function(){
  11.         $("#txtNowObj").val("");
  12.         $(this).css('background-color','transparent');
  13.     });
  14.     $(".NotShowKB").keypress(function(e){
  15.         var fieldVal = $(this).val();
  16.         fieldVal = fieldVal + String.fromCharCode(e.which);
  17.         $(this).val(fieldVal);
  18.     });
  19.  
  20.   });

在一開始先將欄位設定為readonly,但這屬性只能適用textbox,textarea無效。
若使用disabled,他會鎖住欄位,雖不會彈出鍵盤,但無法觸發keypress事件,所以這裡不使用。

$(".NotShowKB").keypress()就是將輸入的每個字元組合起來再寫入Textbox。

留言

這個網誌中的熱門文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

Oracle 工作排程 DBMS_JOB 筆記

Oracle 例外控制(Exception Control)