文本框失去焦点赋值有关问题!

文本框失去焦点赋值问题!在线等!!急急急~~我有这样一段程序代码!点击设置个数时,可任意设置文本框的个数!

文本框失去焦点赋值问题!在线等!!急急急~~
我有这样一段程序代码!

点击设置个数时,可任意设置文本框的个数!自己分数不多了,只有80分,求高手帮忙!

例如:
个数:5   设置
下面会出现
5行文本框~

现在我的鼠标焦点要在文本框中输入值!
当输入完毕后,我的鼠标焦点离开文本框时.
此时的文本框中需要在数据库中检索认证!
当与数据库中的值匹配时,显示数据库中的匹配值.
当与数据库中的值不匹配时,提示不匹配并返回重新输入!

在线期待中,求高手解决!

[解决办法]
onblur 事件.
[解决办法]
帮顶,学习。。。。。
[解决办法]
同意一楼,数据库调用的值可以通过触发onblur事件中写。
[解决办法]
onblur+xmlhttp
用xmlhttp打开数据库查询,参考一些ajax的例子就知道了。
[解决办法]
<script>
function GetTextNumber(){
snb=parseInt(setnumber.value)
if(!snb){
alert( "输入有误,请重新输入 ")
event.returnValue=false
}
if(block.firstChild){
while(block.firstChild){
block.firstChild.removeNode(true)
}
}
for(i=1;i <=snb;i++){
otext=document.createElement( " <input type= 'text ' id= 'text "+i+ " ' value= 'id=text "+i+ " '> ")
obr=document.createElement( " <br> ")
block.insertBefore(otext)
block.insertBefore(obr)
}
}
</script>
<input type= "text " id= "setnumber " onblur= "GetTextNumber() ">
<div id= "block "> </div>
[解决办法]
一个思路给楼主参考:
单纯的onblur 事件是不行的,要配合服务器端的判断
在表单中用onblur= "mm(form1.textfield.value); " 类似这样的方法把文本框的值传给js,在js中判断服务器端是否匹配,再通过传值的方法将正确的值传回本页,再用js把正确的值显示到input文本框
[解决办法]
楼上的可行
[解决办法]
已经告诉你了。典型的ajax应用。给你个例子吧,行的话给我分哟,呵呵。
ajax.html
<!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=gb2312 " />
<title> 无标题文档 </title>
<style type= "text/css ">
td,body,input{
font-size:12px;
font-family: "宋体 ";
}
</style>
</head>

<body>
<script language= "javascript ">
var promptleft= " <table border= '0 ' cellspacing= '0 ' cellpadding= '0 '> <tr> <td bgcolor= '#F7FFDD ' style= 'border: 1px dashed; border-color: #485E00;color:#485E00; '> "
var promptright= "&nbsp;&nbsp; </td> </tr> </table> "
var errorleft= " <table border= '0 ' cellspacing= '0 ' cellpadding= '0 '> <tr> <td bgcolor= '#FFF5D8 ' style= 'border: 1px dashed; border-color: #FF7300;color:#333333; '> "
var errorright= "&nbsp;&nbsp; </td> </tr> </table> "
var correctleft= " <font color= '000000 '> "
var correctright= " </font> "
var xhr;
var error = false;

function ProcessLogName(name)
{
//本地的规则检测
if (name.length> 16 |name.length <4)


{
//alert( "登录名称长度需要在4-16之间 ");
var objQueryStat = document.getElementById( "div_name ");
objQueryStat.style.display = "block ";
objQueryStat.innerHTML = errorleft+ "登录名称长度需要在4-16之间! "+errorright;
error = false;

}
else
{
if(IsValidString(name))
{
//alert(name);
xhr = CreateXHR();
xhr.onreadystatechange=NameProcessBack;
var url = "ajax.asp? ";
xhr.open( "POST ",url+ "name= "+name,false);
xhr.send(null);
//alert(xhr.responseText)

}
else
{
//不是有数字字母和下划线组成
var objQueryStat = document.getElementById( "div_name ");
objQueryStat.style.display = "block ";
objQueryStat.innerHTML = errorleft+ "登录名称只能包含数字,字母,下划线 "+errorright;
error = false;
}
}
}
function in01()
{
var objQueryStat = document.getElementById( "div_name ");
objQueryStat.style.display = "block ";
objQueryStat.innerHTML = promptleft+ "4-16个字符(可以是小写字母、数字、下划线)昵称。 "+promptright;
}
function NameProcessBack()
{
if(xhr.readyState == 4)
{
var Data = xhr.responseText;
//alert( "name processed SUCCEED ");
//alert(Data);
//开始分析数据,看名字是否有效
var info = Data.split( ', ');
//alert(info[0]);
if( info[0] == 1)
{
//alert( "名字有效 ");
var objQueryStat = document.getElementById( "div_name ");
objQueryStat.style.display = "block ";
objQueryStat.innerHTML = correctleft+ "恭喜,这个用户名可以注册! "+correctright;
error = true;
}
else
{
//alert( "该名字已经存在 ");
var objQueryStat = document.getElementById( "div_name ");
objQueryStat.style.display = "block ";
objQueryStat.innerHTML = errorleft+ "该名字已经被注册,请重新选择一个! "+errorright;
error = false;
}
}
else
{
//alert(xhr.readyState);
}
}
function IsValidString(temp)
{
validStr=new String( "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_ ");
for(i=0;i <temp.length;i++)
{
if(validStr.indexOf(temp.charAt(i))==-1)
{
return false;
}
}

return true;
}
function CreateXHR()
{
//早期的IE版本是Msxm12.XMLHTTP
//IE5+是Microsoft.XMLHTTP
//非IE,支持的是XMLHttpRequest
try{
xhr = new ActiveXObject( "Microsoft.XMLHTTP ");
}catch(e){
try{
//alert( "IE5-- ");
xhr = new ActiveXObject( "Msxm12.XMLHTTP ");
}catch(E){
xhr = false;
}
}

if(!xhr && typeof XMLHttpRequest != 'undefined ')
{
//alert( "none IE ");
xhr =new XMLHttpRequest();
}
else
{
//alert( "IE5++ ");
}

return xhr;
}

</script>

<form name= "form " method= "post " action= " " onsubmit= "return error " ondblclick= "alert( 'asdf ') ">
<table cellspacing= "1 " cellpadding= "2 " width= "100% "
align= "center " bgcolor= "#eeeeee " border= "0 ">
<tbody>
<tr bgcolor= "#f6f6f6 ">
<td align= "right "
height= "36 "> &nbsp; </td>


<td>

</td>
<td> &nbsp; </td>
</tr>
<tr bgcolor= "#f6f6f6 ">
<td align= "right " width= "80 "
height= "36 "> &nbsp;&nbsp;登录名称 <font
color= "#ff0000 "> * </font> </td>
<td width= "136 "> <input class= "dud_input1 "
onblur= "ProcessLogName(this.value) " onfocus= "in01() " "
maxlength= "16 " name= "u_nme " /> </td>
<td id= "div_name "
style= "DISPLAY: block "> 由字母、数字、下划线组成(4-16位) </td>
</tr>
<tr bgcolor= "#ffffff ">
<td align= "right " height= "36 "> &nbsp;&nbsp;登录密码 <font
color= "#ff0000 "> * </font> </td>
<td> <input class= "dud_input1 "

type= "password " maxlength= "16 " name= "u_pss " /> </td>
<td id= "div_pwd " style= "DISPLAY: block "
bgcolor= "#ffffff "> 由字母、数字、下划线组成(6-16位) </td>
</tr>
<tr bgcolor= "#f6f6f6 ">
<td align= "right " height= "36 "> &nbsp;&nbsp;密码确认 <font
color= "#ff0000 "> * </font> </td>
<td> <input class= "dud_input1 "

type= "password " maxlength= "16 " name= "u_pss2 " /> </td>
<td id= "div_pwd2 " style= "DISPLAY: block "> 再输入一遍登录密码 </td>
</tr>
<tr bgcolor= "#f6f6f6 ">
<td align= "right " height= "36 "> &nbsp; </td>
<td> <input type= "submit " name= "Submit " value= "提交 " /> </td>
<td id= "div_pwd2 " style= "DISPLAY: block "> &nbsp; </td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
ajax.asp
0

onblur时异步打开ajax.asp页面进行判断,返回0和1代表有没有此用户。知道和数据库交互的代码写在哪了吧,就在ajax.asp里。懂asp就行,除非你不懂asp,那我也爱莫能助了。