jQuery Keyup从未输入

时间:2014-02-28 04:39:30

标签: javascript jquery html ajax servlets

我正在尝试在我正在处理的项目中的输入表单上实现自动完成功能。我试图使用jQuery触发对servlet的AJAX调用,并在keyup的输入字段上添加了一个监听器。但是,它似乎永远不会进入。我还添加了控制台日志以验证它确实没有输入,并且检查控制台它也是空白的。

我在下面加了html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Fabflix Home</TITLE>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"</script>

<script type="text/javascript">
$(document).ready(function(){
$( "#autoSearch" ).on("keyup", function () {
    console.log("Entered!");
    var data = $('#autoSearch').val();
    $.ajax({
        type: "POST",
        url: "/FabflixP4/servlet/autocomplete",
        data: data,
        dataType: "xml",
        success: function(data)
        {
            console.log("Success!");
        }
    });
});
});
</script>
</HEAD>

<BODY BGCOLOR="#FDF5E6">
<H1 ALIGN="CENTER">Test</H1>

<div align="CENTER">
<form action = "/FabflixP4/servlet/Movie">
    Search: <INPUT TYPE="TEXT" NAME="title">
    <input type="submit" id="autoSearch" value="Submit">
</form>
</div>

</BODY>
</HTML>

我是jQuery和AJAX的新手,并且发现我遗漏了一些东西。我花了几个小时研究这个无济于事。作为一方,这不是一个不打算使用的小项目,性能并不重要。谢谢。

编辑1:添加了脚本类型并移至头部,仍未输入。

1 个答案:

答案 0 :(得分:3)

您正在收听keyup按钮的submit事件。您应该收听keyup输入的text事件。

$('input[name="title"]').on("keyup", function () {