2017-01-16 72 views
0

那裏我有一個文本框和select元素。獲取ENTRY鍵從文本框getElementsByClassName

我想在任何人在文本框中輸入一個輸入鍵時觸發警報。我寫JS代碼來獲取文本框,但無法執行觸發操作。我怎麼能這樣做?

var tab = document.getElementsByClassName('PDSCriteriaSections')[0]; 
 
var children = tab.childNodes[0].childNodes[0]; 
 
var textbox = children.firstChild.innerHTML;
<table> 
 
    <tr> 
 
    <td class="PDSCriteriaSections"> 
 
     <div> 
 
     <ul> 
 
      <li> 
 
      <input type="text"> 
 
      <select> 
 
       <option value="MTJobNo">Job No</option> 
 
       <option value="EmptyInDate">EmptyIn Date</option> 
 
       <option value="ContainerNo">Container No</option> 
 
      </select> 
 
      <input value="-" style="display: none;" type="button"> 
 
      </li> 
 
     </ul> 
 
     </div> 
 
    </td> 
 
    </tr> 
 
</table>

的jsfiddle:https://jsfiddle.net/ctpn6mr6/

+0

使用'document.getElementById'的'.childNodes's所有這些鏈,而不是給輸入的'id'和訪問它。 –

+0

解釋更多。究竟想要什麼? –

+0

@ibrahimmahrir我沒有訪問權限來更改html代碼。我的要求是在文本框中按下Enter鍵時觸發一個事件。 –

回答

0
// ... 
// textbox redefintion 
var textbox = children.firstChild; 
textbox.addEventListener("keydown", function(e){ 
    // 13 is the keyCode of enter button 
    if(e.keyCode == 13){ 
     alert("Enter was pressed"); 
    } 
}); 
+0

如果此文本框位於表單內部,最好在'if「主體內部添加'e.preventDefault()',以免表單被提交。 –