最近項目進入尾期,主要給客戶進行一些培訓。客戶在註冊系統時每次會出現在填寫完所有的資訊後,在點擊確定後,如果後台有此使用者名稱,就添加不了,但頁面上填寫的資訊可能就沒了,比如密碼項一定會清空。這是一個不人性化的地方,看網上好多論壇實現填寫使用者名稱後失去焦點後就可判斷出是否可以填寫.就在項目中添加此功能了~~
前台apx中加JS
<!--
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function checkUserName(){
var UserName = document.getElementById('tbxManagerName');
if (UserName.value == "")
return;
createXMLHttpRequest();
var url = "check_user.aspx?UserName=" +UserName.value;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.send(null);
}
function handleStateChange(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var isValid = xmlHttp.responseText;
var checkResult = document.getElementById("checkResult");
checkResult.innerHTML = (isValid == "true") ? "<IMG src= 'http://images.cnblogs.com/check_right.gif' align = 'absmiddle'> 恭喜,此使用者可以註冊!" : "<IMG src= 'http://images.cnblogs.com/check_error.gif' align = 'absmiddle'> 此使用者名稱已存在,請選擇基他使用者名稱!";
}
}
}
後台check_user.aspx.csprivate void Page_Load(object sender, System.EventArgs e)
{
string UserName = Request.QueryString["UserName"];
// validate
bool isValid = false;
int count = 0;
count = (new BRL.Sys.ManagerBR()).GetResultByCondition(ManagerDS.MANAGER_TABLE,"Manager_LoginName = '"+UserName+"'");
if(count == 0)
isValid = true;
Response.Clear();
Response.Write(isValid ? "true" : "false");
Response.End();
}
運行效果如下:
可以註冊:
不可以註冊: