【发布时间】:2017-08-29 01:27:36
【问题描述】:
我已经阅读了一堆与自动完成类似的问题,但所提供的解决方案都没有帮助我解决这个问题。我有一个在数据库中搜索用户名的表单。自动完成列表填充了适当的名称,并且从为自动完成返回的代码的外观来看,这些名称带有适当的 ID 和 VALUE。
为什么我无法提交包含任何数据的表单?
屏幕正在刷新,好像表单已提交,但 GET 未返回任何信息。只是一个“?”在网址的末尾。如果我使用键盘或鼠标在自动完成下拉列表中选择一个选项,则不会通过 GET 传递任何信息。即使我输入一些内容并使用提交按钮并忽略自动完成下拉菜单,仍然没有传递任何信息。
这是当前的 HTML。
<title>TEST</title>
<link href="jquery-ui.min.css" rel="stylesheet" />
<link href="autocomplete.css" rel="stylesheet" />
<script src="jquery-1.11.2.js"></script>
<script src="jquery-ui.min.js"></script>
<script src="jquery.ui.autocomplete.html.js"></script>
<script type="text/javascript" src="../test.php"></script>
</head>
<body>
<form id="searchform" method="GET">
<input type="text" id="searchterm" placeholder="Search For Client">
<input type="submit" value="Submit">
<script type="text/javascript" src="../js/watchdog.js"></script>
</form>
</body>
</html>
和名为“watchdog”的 JS 正在监视该表单字段。我错过了什么?
$(function() {
$("#topic_title").autocomplete({
source: "ajax.php",
minLength: 2,
select: function(event, ui) {
var item = ui.item;
console.log(item,ui);
if(item) {
$(this).val(item.value);
$(this.form).submit();
return false;
}
}
});
});
我还应该补充一点,这是该脚本的第七个或任何一个变体,具有相同的空结果。
提前感谢您对此提供的任何帮助。
【问题讨论】:
-
"屏幕正在刷新,好像表单已提交,但 GET 未返回任何信息。"该插件假设使用 ajax 发送搜索请求!不是通过发送表格。你不应该离开或刷新页面
-
搜索会自动进行,无需提交表单。我要解决的是在那之后的信息会发生什么。我希望能够选择其中一个自动完成建议并使用它来提交表单,这反过来会从该用户那里带回所有数据。
标签: javascript jquery html forms autocomplete