js问题,求教!

看到一段验证登陆信息的js代码,不明白是什么意思,求大神指点,谢谢!$("input[name='username']").blur(function(){varuser... 看到一段验证登陆信息的js代码,不明白是什么意思,求大神指点,谢谢!
$("input[name='username']").blur(function(){
var username = $("input[name='username']");
if(username.val().trim()==''){
username.parent().find("span").remove().end().append("<span class='error'>用户名不能为空</span>");
return ;
}
$.post(CONTROL+"/checkusername",{username:username.val().trim()},function(stat){
if(stat==1){
validate.username=0;
username.parent().find("span").remove();
}else{
username.parent().find("span").remove().end().append("<span class='error'>用户不存在</span>");
}
})
})

主要想知道,
username.parent().find("span").remove().end().append("<span class='error'>用户名不能为空</span>");

$.post(CONTROL+"/checkusername",{username:username.val().trim()},function(stat)
这两句的详细解释,感谢!
感谢大家的热心,再请问一下

$.post()中,第一个参数,CONTROL+'/checkusername',第一个CONTROL是一个常量吗?还是什么?
后面部分,'/checkusername'又是什么,在文件中也没有找到……不知道是怎样指向目标URL的。

非常感谢!!
展开
 我来答
joychen_
推荐于2016-09-14 · TA获得超过1747个赞
知道大有可为答主
回答量:1617
采纳率:100%
帮助的人:1832万
展开全部
应该是username有一个同级的元素span,位于username的右边或者下边,用于提示信息,
每次显示新的提示信息之前,先把这个span移除,再新增一个span,显示最新的信息。

$.post() 第一个参数是提交的目标URL,第二个参数是用户名,是后台处理程序需要接受的数据,
第三个参数是回调函数,根据返回数据处理。

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)

参数

描述

url
必需。规定把请求发送到哪个 URL。

data
可选。映射或字符串值。规定连同请求发送到服务器的数据。

success(data, textStatus, jqXHR)
可选。请求成功时执行的回调函数。

dataType
可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。

===================================================
CONTROL 应该是常量。
CONTROL+"/checkusername" 形成一个URL,并不是所有的URL后面都要有jsp,aspx结尾,很多手段都可以让URL不显示真实的后缀名。checkusername甚至可能是某个方法的名字,Post的时候你抓一下网络包,看一下就明白了。
九方芮佳UI
2014-08-06 · TA获得超过103个赞
知道答主
回答量:166
采纳率:50%
帮助的人:51.8万
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
//var thisCon=1;
function setTab(name,cursel,n)
{
for(i=1;i<=n;i++)
{
var menu=document.getElementById(name+i);
var con=document.getElementById("con_"+name+"_"+i);
menu.className=i==cursel?"hover":"";
con.style.display=i==cursel?"block":"none";
}
}
function goTab(apt)
{
var thisCon=1
for(i=1;i<=3;i++)
{
var con=document.getElementById("con_tab_"+i);
if(con.style.display=='block'){var thisCon=i;break;}
}
if (apt=='prov' && thisCon==1){return false;}
if (apt=='next' && thisCon==3){return false;}
if (apt=='prov'){thisCon-=1;}
if (apt=='next'){thisCon+=1;}
for(i=1;i<=3;i++)
{
var menu=document.getElementById('tab'+i);
var con=document.getElementById("con_tab_"+i);
menu.className=i==thisCon?"hover":"";
con.style.display=i==thisCon?"block":"none";
}
}
</script>
<style>
body {padding-top:60px;}
a {font-size:12px; text-decoration:none; color:#fff}

.tpye {width:450px; clear:both; border:1px #f60 solid; overflow:hidden; margin:20px auto 0 auto;}
.tpye ul {margin:0; padding:0;}
.tpye li {width:150px; text-align:center; float:left; background:#f60; list-style-type:none;}
.tpye li.hover {background:#fff;}

.content {width:450px; height:100px; line-height:100px; text-align:center; border:1px #f60 solid; margin:0 auto; position:relative;}
.content .list {display:none;}
.content .hover {display:block;}

.pre {width:50px; height:50px; line-height:50px; text-align:center; background:#f60; position:absolute; top:30px; left:-25px;}
.next {width:50px; height:50px; line-height:50px; text-align:center; background:#f60; position:absolute; top:30px; right:-25px;}
</style>
</head>

<body>
<div class="content">
<div id="con_tab_1" class="list hover">11</div>
<div id="con_tab_2" class="list">22</div>
<div id="con_tab_3" class="list">333</div>
<div class="pre"><a href="javascript:void(0);" onclick="goTab('prov');">上一个</a></div>
<div class="next"><a href="javascript:void(0);" onclick="goTab('next');">下一个</a></div>
</div>

<div class="tpye">
<ul>
<li id="tab1" onmouseover="setTab('tab',1,3)" class="hover">标签1</li>
<li id="tab2" onmouseover="setTab('tab',2,3)">标签2</li>
<li id="tab3" onmouseover="setTab('tab',3,3)">标签3</li>
</ul>
</div>

</body>
</html>

尽量不改动你原来的,只加了一个函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丰鸿福71
2014-08-06 · TA获得超过312个赞
知道小有建树答主
回答量:409
采纳率:85%
帮助的人:235万
展开全部
username.parent().find("span").remove().end().append("<span class='error'>用户名不能为空</span>"); //删除用户名不能为空的提示信息,再加上 用户名不能为空的提示(可以理解为防止多条错误提示)

$.post(CONTROL+"/checkusername",{username:username.val().trim()},function(stat)

以Ajax经post协议提交到服务器脚本,检查数据合法性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Cz丶168
2014-08-06 · TA获得超过994个赞
知道小有建树答主
回答量:1252
采纳率:75%
帮助的人:437万
展开全部
第一句是 移除span标签后 在最后重新添加一个 "<span class='error'>用户名不能为空</span>"

第二句是通过post请求 查询你当前的用户名 在数据库中是否 存在
stat 是返回值
1是存在 否则不存在!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式