Javascript Block Form对“enter”提交的操作

时间:2016-11-17 15:10:30

标签: javascript jquery

我在laravel框架中工作,我有这样的形式:

查看

{!! Form::open() !!} 
<input type="text" name="puntata" id="puntata"> 
<button id="registro" type="button" class="btn-primary">PUNTA</button>
{!! Form::close()!!}

JS

var button = d.getElementById('registro');
   function puntata() {
      ....my code...
   }
var submit = button.onclick = puntata;

当我在输入“puntata”中插入一个值并点击“registro”按钮时,它会调用我的函数js,它运行良好。

但是,如果我在输入“puntata”中插入一个值,并且我在键盘中输入“ENTER”,则提交表单而不调用我的函数javascript。我怎么能阻止这个?

我想在事件“ENTER”上调用我的函数puntata()并且不提交表单。

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

您应该使用jQuery的keydown来执行此操作:

$(document).ready(function() {

  $(window).keydown(function(event){

    if(event.keyCode == 13) { // -- 13 for enter key
      event.preventDefault();
      return false;
    }

  });

});

希望这有帮助!

答案 1 :(得分:0)

使用jquery:

$(document).keypress(function(e) {
    if(e.which == 13) {
        $('#registro').click();
    }
});

答案 2 :(得分:0)

只需将事件处理程序添加到表单提交,而不是单击按钮。

$('form').on('submit', function(e) {
  // whatever you were doing on button click
});