我正在学习 jquery,它很棒!做复杂的事情很容易,但我不确定如果自动完成失败,如何阻止某人提交表单(或警告他们)。
我的网站上有一个表单,它使用我的数据库中的现有数据自动完成,当他们提交时,它会提供有关该条目的信息。如果他们添加了一些不在数据库中的内容,那么我的服务器会将它们弹回表单页面并让他们知道错误,但我想在他们填写表单时做一些事情来警告他们(在他们提交表单之前) .
长话短说,我知道如何检测字段中的更改,但是当字段不在数据库中时,我如何检测(并防止提交表单)?我正在考虑的两种情况是库存(“ibm”)是否有自动完成功能,并且用户输入“ib”(在它完全完成之前)或“ibmm”(在它自动完成之后)。
是否有一种类似于 jquery 的简单方法来检测字段是否没有被自动完成完全解析?
有什么建议么?
更新:根据要求,这是我的自动完成代码(基本上只是在搜索框中取值并提交到一个名为“自动完成”的网址):
<script>
$(function() {
var cache = {},
lastXhr;
$( "#global-search-field" ).autocomplete({
minLength: 2,
source: function( request, response ) {
$(".message").empty()
var term = request.term;
if ( term in cache ) {
response( cache[ term ] );
return;
}
lastXhr = $.getJSON( "autocomplete", request, function( data, status, xhr ) {
cache[ term ] = data;
if ( xhr === lastXhr ) {
response( data );
if ( data == 'no results found'){
//alert(data);
//$(".message").empty().append("not found!");
}
}
});
}
});
});
</script>