我已经通过自动完成阅读了一系列类似的问题,但所提供的解决方案都没有帮助我解决这个问题。我有一个在数据库中搜索用户名的表单。自动完成列表使用适当的名称填充,并且从为自动完成返回的代码的外观中,名称将返回适当的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>
和JS命名为#34;看门狗&#34;那是看着那个形式领域。我错过了什么?
$(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;
}
}
});
});
我还应该补充一点,这是此脚本的第七个或任一变体,具有相同的空结果。
提前感谢您提供任何帮助。
答案 0 :(得分:1)
自动完成代码对我来说很合适。我在代码中看到的唯一问题是您没有在name
中提供<input>
属性,因此您的浏览器没有将其附加到url.just替换此
<input type="text" id="searchterm" placeholder="Search For Client">
用这个
<input type="text" id="searchterm" name="clientId" placeholder="Search For Client">
(记得将clientId
更改为服务器所需的名称)