2011-12-31 135 views
1

爲什麼當我給輸入字段type = hidden時,這不起作用?當輸入字段被隱藏時,警報會給我提供我想要的ID代碼。從隱藏字段獲取值

<input id="scanID" name="scanID" type="hidden"> 

$(document).ready(function(){ 
    $("#scanID").keypress(function(e){ 
    //key code 13 is "enter", 
     if(e.keyCode==13){ 
       //print out the barcode 
      alert($("#scanID").val()); 
        //clear the input field for next scan 
      $("#scanID").val(''); 
        //kill the "enter" event 
      return false; 
      } 
    }); 
}); 
+0

沒有分配給隱藏的輸入值。因此它沒有顯示任何價值。你在哪裏分配價值? – Virendra 2011-12-31 09:01:11

+0

用掃描儀掃描我的ID,並嘗試這樣的:\t \t如果(e.keyCode == 13){ \t \t \t //打印出條形碼 \t \t \t VAR測試= $( '#scanID')VAL。 (); alert(test); 沒什麼好開心的 – dymo 2011-12-31 09:03:34

+0

你的元素是隱藏的,因此它永遠不會有按鍵不會發生在它上面。 – Virendra 2011-12-31 09:07:26

回答

2

這是因爲隱藏的元素無法獲得焦點,因此keypress事件永遠不會發生。你應該使用不同的輸入類型。

另一種解決方案是使用正常輸入,並使用display: nonevisibility: hidden它與CSS。

+0

我試過了,沒有結果。 – dymo 2011-12-31 08:52:11

+0

顯示器沒有爲我工作,謝謝:) – 2014-01-28 15:41:09

2

可以按鍵事件添加到您想要的文件:

<input id="scanID" name="scanID" type="hidden" value="yourValue"> 

$(document).ready(function(){ 
     $(this).keypress(function(e){ 
     //key code 13 is "enter", 
      if(e.keyCode==13){ 
        //print out the barcode 
       alert($("#scanID").val()); 
         //clear the input field for next scan 
       $("#scanID").val(''); 
         //kill the "enter" event 
       return false; 
       } 
     }); 
    }); 
+0

但是,然後每當他按下輸入,無論它會觸發它。 – 2011-12-31 08:54:31

+0

這個解決方案給了我一個警報但沒有值 – dymo 2011-12-31 08:55:28

+0

@dymo mgraph 2011-12-31 08:57:56