我正在学习jquery和它的真棒!它很容易做复杂的东西,但我不确定如果自动完成失败,如何防止某人提交表单(或警告他们)。如果没有自动完成表单,是否有办法阻止提交表单?
我在我的网站上有一个表格,它可以自动填充来自我的数据库的现有数据,并在他们提交时提供该条目的信息。如果他们添加的东西不在数据库中,那么我的服务器会将他们退回到表单页面并让他们知道错误,但我想在填写表单时提醒他们(在他们提交表单之前) 。长篇小说,我知道如何检测字段中的变化,但是当字段不在数据库中时,如何检测(并阻止提交表单)?我正在考虑的两种情况是,如果存在自动完成库存(“ibm”),并且用户要么在“完成”之前键入“ib”(完成之前)或“自动完成”之后键入“ibmm”。检测jQuery的ISH简单的方法,如果一个领域没有被完全自动完成解决
任何建议
更新:?? 按照要求,这里是我的自动完成代码(基本上只需要在搜索框中输入值,提交到一个名为'autocomplete'的网址):
<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>
表单不是没有*可见* **“提交”**按钮的表单。相反,如果出现'不活跃',你知道......灰色字体的颜色和那些东西... – 2012-07-20 00:31:58
你可以使用jQuery进行表单验证(检查是否需要的字段中有一些相关内容),但是就我而言, m知道你不能使用它从服务器发送和接收。不要把我的话当成福音,我从我自己对jQuery的研究和我对它的研究中得出这个推论。 – Dom 2012-07-20 00:33:32
附加问题:您如何获得自动填充的值?通过ajax或静态数组传递给自动完成功能? – 2012-07-20 00:41:33