1

私はDjangoをbootstrap3で使用しており、Twitterのtypeahead.jsを使用してフォームでオートコンプリートを取得しています。

フォーム:

**

<div id="top" class="jumbotron">
  <div class="container">
    <h1 align="center">Home</h1>
    <h3>
        <form align="center" action="/search/" method="get" role="form">
    <input id="navPersonSearch" type="text" name="q" placeholder="Search for Actor/Actress" autocomplete="off">
      </form> 
   </h3>
  </div> <!-- /.container -->
</div> <!-- /.jumbotron -->

**

オートコンプリートを処理するスクリプト:

<script type="text/javascript">

$(document).ready(function() {
  $("#navPersonSearch").typeahead({
    name: 'people',
    remote: 'name_autocomplete/?q=%QUERY'
  });
});

</script>

このフォームには送信ボタンがないため、Enter キーを押して送信します。スクリプトをコメントアウトすると、フォームを送信できますが、スクリプトを使用すると送信できません。

4

1 に答える 1

2

これは、キー押下イベントを変更する先行入力が原因である可能性があります。私はそれで働いていないので、私は確信が持てません。ただし、イベントを再度添付すると、問題が解決する場合があります。

このようなことを試してください:

$(document).ready(function() {
    $("#navPersonSearch").typeahead({
        name: 'people',
        remote: 'name_autocomplete/?q=%QUERY'
    }).keydown(function(e) {
        if (e.keyCode === 13) {
            $("form").trigger('submit');
        }
    });
});
于 2013-10-05T08:50:10.383 に答える