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 回答