当任何表单输入字段具有keyCode == 13(提交)时执行操作

时间:2018-03-06 06:17:08

标签: jquery forms input

我有一个这样的表单字段:

<form id="address_form">
 <input type="text" name="name" id="field_name">
 <input type="text" name="name" id="field_phone">
 <input type="text" name="name" id="field_email">
</form>

现在,我正在捕捉“输入”动作:

$('#field_phone').keydown(function (e){
         if(e.keyCode == 13){
             alert("You pressed Enter");
         }
})

我不想为表单中的每个字段执行一个函数。有没有办法捕获#address_form中的所有字段?

3 个答案:

答案 0 :(得分:1)

是的,你可以。只需匹配input[type=text]并将您的活动绑定到:

$('#address_form input[type=text]').keydown(function(e) {
  if (e.keyCode == 13) {
    alert("You pressed Enter");
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id="address_form">
  <input type="text" name="name" id="field_name">
  <input type="text" name="name" id="field_phone">
  <input type="text" name="name" id="field_email">
</form>

此示例将keydown事件绑定到#address_form下的所有文本框。

答案 1 :(得分:1)

现在表单中的所有输入都附加了此事件

$('#address_form input').keydown(function (e){
    if(e.keyCode == 13){
        alert("You pressed Enter");
    }
})

答案 2 :(得分:-1)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id="address_form">
  <input type="text" name="name" id="field_name" class="checkThis">
  <input type="text" name="name" id="field_phone" class="checkThis">
  <input type="text" name="name" id="field_email" class="checkThis">
</form>

<script>
$('.checkThis').keydown(function(e) {
  if (e.keyCode == 13) {
    alert("You pressed Enter");
  }
})
</script>