1、给输入名字的文本框绑定一个失去焦点事件,jquery中为focusout事件,同时在文本框后定义一个显示检查结果的span。
10年积累的成都网站制作、网站建设、外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有屯溪免费网站建设让你可以放心的选择与我们合作。
2、当文本框失去焦点时,调用ajax异步向后台发送请求。
3、将请求结果显示在文本框后面提示用户,避免所有信息填写完毕表单提交时才发现名字重复。
示例:
input type='text' id='name'/span id='errorMsg'/erorMsg
//给文本框绑定一个失去焦点事件
$("#name").focusout(function() {
var name = $("#name").val();
if(name != null name != ''){
checkName(name);
}
});
//发ajax请求到后台判断用户名是否重复
function checkName(name){
$.ajax({
url : servletUrl,
type : "post",
dataType : 'JSON',
data : {name:name},
success : function(result) {
//已经存在该名字提示用户
if(result == true){
$("#errorMsg").html("该用户名已经存在");
}else{
$("#errorMsg").html("恭喜您,用户名可以使用");
}
}
},
error : function() {
alert('检查用户是否存在发生错误');
}
});
}
var thisImg = $('#testimg');
thisImg.animate({'left': '0px'}, 2000, function(){
thisImg.fadeOut(500, function(){
thisImg.fadeIn(500)
})
})
亲试通过。第一个.animate({'left': '0px'}, 2000, function(),这个left:0px是无效的,只为做2000毫秒的延时,在你使用中如果使用绝对定位了,那么就换成一个无关紧要的属性即可。
无论jquery和原生js,去除重复数据都没有直接的方法。方法无非是下面两个:
第一、根据json数据字段的唯一性
var a = ["a","ss","a","c"],b={};
$.each(a,function(i,val){
if (b[val]) a.splice(i,1);
});
第二种方法,无非就是双循环,逐个判断老数组的元素与新数组的原始是不是一样。代码就不写了,也不太推荐
$(".show").toggle(
function(){$(this).animate({marginLeft:"-535px"}, 300)},
function(){$(this).animate({marginLeft:"-1px"}, 300)}
);
toggle(fn, fn2, [fn3, fn4, ...])方法:
每次点击后依次调用函数。
如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数,如果有更多函数,则再次触发,直到最后一个。随后的每次点击都重复对这几个函数的轮番调用。
可以使用unbind("click")来删除。
1、通过正则判断。
var ary = new Array("111","ff","222","aa","222");
alert(mm(ary));
// 验证重复元素,有重复返回true;否则返回false
function mm(a){return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+a.join("\x0f\x0f") +"\x0f");}
2、通过数组排序,比较临近元素,可指出重复的元素。
var ary = new Array("111","22","33","111","22");
var nary = ary.sort();
for(var i = 0; i nary.length - 1; i++){
if (nary[i] == nary[i+1]){alert("重复内容:" + nary[i]);}
}
3、通过字符串查找。
var ary = new Array("111","22","33","111","22");
var s = ary.join(",") +",";
for(var i = 0; i ary.length; i++){
if(s.replace(ary[i] + ",", "").indexOf(ary[i] +",") -1){alert("重复内容:" + ary[i]);}
}
4、通过哈希
var ary = new Array("111","22","33","111","22");
alert(isRepeat(ary));// 验证重复元素,有重复返回true;否则返回false
function isRepeat(arr) {
var hash = {};
for(var i in arr) {
if(hash[arr[i]]){return true;}
// 不存在该元素,则赋值为true,可以赋任意值,相应的修改if判断条件即可
hash[arr[i]] = true;}
return false;
}
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款