2017-01-16 73 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()',以免表单被提交。 –