javascript-如果表单没有自动完成,是否可以阻止表单提交?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如果表单没有自动完成,是否可以阻止表单提交?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2510字,纯文字阅读大概需要4分钟。
内容图文
![javascript-如果表单没有自动完成,是否可以阻止表单提交?](/upload/InfoBanner/zyjiaocheng/656/c80efa173f714bd5a0a8435205da2bb3.jpg)
我正在学习jquery及其超棒的功能!它很容易做复杂的事情,但是我不确定如果自动完成失败时如何防止某人提交表单(或警告他们).
我的网站上有一个表单,该表单会使用数据库中的现有数据自动完成,并在他们提交时提供有关该条目的信息.如果他们添加了一些不在数据库中的内容,那么我的服务器会将它们退回表单页面,并让他们知道错误,但是我想做些事情来警告他们,他们正在填写表单(在提交表单之前) .
长话短说,我知道如何检测字段中的更改,但是当字段不在数据库中时如何检测(并防止提交表单)?我正在考虑的两种情况是,股票是否有自动完成功能(“ ibm”),并且用户输入“ ib”(完全完成之前)或“ ibmm”(自动完成之后).
有没有一种jquery-ish简便的方法来检测某个字段是否尚未通过自动完成功能完全解决?
有什么建议么?
更新:
根据要求,这是我的自动填充代码(基本上只是在搜索框中输入值并提交到名为“自动填充”的网址):
<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>
解决方法:
禁用该按钮加载该窗体.填写表单时,您将获得一个连续的标记(class = validation)标记,以通知表单准备就绪,然后可以启用该按钮.
如果您已经知道如果不是所有信息都准备就绪,服务器就会失败,那么拥有一个可行的按钮将试图调用服务器毫无意义.
如果您用文本填充所有三个框,则底部的示例将起作用.您可以通过在jquery中使用appendTo()使每个带有一个类的文本框以红色字体附加“必需”文本来表示控件.
只要html元素上有一个类验证,就将需要它,因此在我们输入数据时,它将删除那些验证类:
<html>
<head>
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("input[name^='test']").blur(function(){
if ($(this).val() != "" && $(this).hasClass("validation")){
$(this).removeClass("validation");
}
var check = $(".validation"); //checks to see if there is any more validation
if (check.length == 0){
$("#nowSubmit").prop("disabled", false);
} else {
$("#nowSubmit").prop("disabled", true);
}
});
});
</script>
</head>
<body>
<form>
<input id="control1" name="test" type="textbox" class="validation" />
<input id="control2" name="test" type="textbox" class="validation" />
<input id="control3" name="test" type="textbox" class="validation" />
<input id="nowSubmit" type="submit" value="Click Here" disabled="true"/>
</form>
</body>
</html>
这里的工作示例:http://jsfiddle.net/hSatZ/
内容总结
以上是互联网集市为您收集整理的javascript-如果表单没有自动完成,是否可以阻止表单提交?全部内容,希望文章能够帮你解决javascript-如果表单没有自动完成,是否可以阻止表单提交?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。