Android網頁Textbox不彈出鍵盤

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

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

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

<input type="textbox" class="NotShowKB" id="txtNormal" name="txtNormal" value=""  />

在要控制的元件上加入class[NotShowKB]

  $(document).ready(function(){
 
      $(".NotShowKB").attr("readonly", "readonly");
      //$(".NotShowKB").attr("disabled", "true");

    $(".NotShowKB").click(function(){
        $("#txtNowObj").val($(this).prop("id"));
        $(this).css('background-color','yellow');
    });
    $(".NotShowKB").blur(function(){
        $("#txtNowObj").val("");
        $(this).css('background-color','transparent');
    });
    $(".NotShowKB").keypress(function(e){
        var fieldVal = $(this).val();
        fieldVal = fieldVal + String.fromCharCode(e.which);
        $(this).val(fieldVal);
    });
 
  });

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

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

留言

這個網誌中的熱門文章

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

Oracle 例外控制(Exception Control)

Oracle 工作排程 DBMS_JOB 筆記