how prevent submit on press enter in twitter bootstrap typeahead plugin

前端 未结 5 2172
谎友^
谎友^ 2021-02-07 12:36

I have a input text and I apply it typeahead plugin for suggesting items, but when I press enter key on input text it submit form.

How can I prevent form submit using tw

相关标签:
5条回答
  • 2021-02-07 13:20

    The best way I've found to approach this is not to use a submit input. Use a button input instead and add some js to submit the form when it's clicked.

    $('#my_submit_button').click(function(){
        $(this).parents('form').submit();
    });
    
    0 讨论(0)
  • 2021-02-07 13:24

    I have same problem in my project using CodeIgniter and bootstrap here i found the solution and it works.

    Just add onsubmit="return false;" in the form, like this:

    <form id="frmcrud" method="post" onsubmit="return false;">
    
    0 讨论(0)
  • 2021-02-07 13:29

    The first answer didn't worked for me, maybe because of updating the typeahead plugin, but I did passed the problem by using the 'alternative' input created by typehead:

    $(".twitter-typeahead > input").focus(function(){
        //disable btn when focusing the input
        $("#my_submit_button").prop('disabled', true);
    }).blur(function(){
        //enable btn when bluring the input
        $("#my_submit_button").prop('disabled', false);
    });
    
    0 讨论(0)
  • 2021-02-07 13:35

    According to the documentation, you can set the option confirmKeys to something else than return (13) :

    $('input').tagsinput({
       confirmKeys: [188, 32, 39],
    });
    

    However, a smarter way to go about this is to prevent sending the form on enter.

    0 讨论(0)
  • 2021-02-07 13:37

    You can target that specific input by adding an ID to it and simply removing the keydown event for enter like so:

    JS

    $(document).ready(function() {
      $('form input').keydown(function(event){
        if(event.keyCode == 13) {
          event.preventDefault();
          return false;
        }
      });
    });
    
    0 讨论(0)
提交回复
热议问题