15

入力テキストがあり、アイテムを提案するための先行入力プラグインを適用しますが、入力テキストで Enter キーを押すと、フォームが送信されます。

twitter ブートストラップ typeahead プラグインを使用してフォーム送信を防ぐにはどうすればよいですか?

4

6 に答える 6

24

ID を追加し、Enter の keydown イベントを次のように削除するだけで、その特定の入力をターゲットにすることができます。

JS

$(document).ready(function() {
  $('form input').keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});
于 2012-11-25T15:44:12.490 に答える
3

おそらく typeahead プラグインを更新したため、最初の答えはうまくいきませんでしたが、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);
});
于 2015-05-26T12:24:17.130 に答える
2

私は自分のプロジェクトで CodeIgniter とブートストラップを使用して同じ問題を抱えており、ここで解決策を見つけて動作します。

onsubmit="return false;"次のように、フォームに追加するだけです。

<form id="frmcrud" method="post" onsubmit="return false;">
于 2018-08-26T18:04:43.467 に答える
1

これにアプローチするために私が見つけた最良の方法は、送信入力を使用しないことです。代わりにボタン入力を使用し、いくつかの js を追加して、クリックされたときにフォームを送信します。

$('#my_submit_button').click(function(){
    $(this).parents('form').submit();
});
于 2017-08-22T11:49:27.693 に答える