有这个简单的表单,它发送get-request
到服务器。
<form id="form0" method="get">
<input id="searchTerm" type="hidden" name="searchTerm">
<input type="search" id="userSearchTerm" />
<input type="submit" value="submit" />
</form>
我使用 jquery-uiauto-complete
从服务器获取 json 数据,是的,它工作正常。
<script type="text/javascript">
$(document).ready(function () {
$("#userSearchTerm").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Home/AutoComplete",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
alert("successfully got the data");
response($.map(data, function (item) {
return { name: item.name, value: item.age };
}))
}
})
},
select: function (e, ui) {
alert(ui.item.name);
$('#searchTerm').val(ui.item.name);
$("#form0").submit();
}
});
return false;
})
我收到诸如“成功获取数据”之类的警报消息以及“项目名称”。还检查了Network
谷歌浏览器下的选项卡-> json 响应在那里。
问题是,我无法提交表单。如果我删除该行,$('#searchTerm').val(ui.item.name);
则表单将被提交并且一切都很好。
有人能指出我正确的方向吗?为什么这个简单的 javascript 不运行?