求文本框中数据库检索问题!
我有一段代码可以实现默认为一个文本框,当我点击设置个数时,可生成所设置该个数的文本框N个!
现在我想实现的是 我在文本框中输入数据的时候,用程序来自动检索数据库里的值看看是否匹配,匹配的话值为当前输入值,不匹配的话提示重新填写!
跪求各位大虾解决!在线期待...谢谢!!
[解决办法]
這個不太好,讀服務器太多了.
[解决办法]
用javacript来判断吧
[解决办法]
// JavaScript Document
//将中文逗号转换为英文逗号 str:待替换的字符■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
/*
1.ReplaceDot(str)将中文的逗号转换为英文的
2.CheckContentLen(Str,FS_Alert,Len)长度检查
3.isNumber(Str,FS_Alert,Msg,isInteger)数字检查
4.isEmpty(Str,FS_Alert)是否为空
5.isChinese(Str,FS_Alert)有中文将返回错误
6.containValue(str,value,FS_Alert)包含指定字符将返回错误
7.checkMail(str,FS_Alert)邮件合法性
8.valiateDate(str,FS_Alert) 日期合法性
9.Do.these()连续检查
*/
var FSDomain=(location.href).split( "// ")[1].split( "/ ")[0]
function ReplaceDot(str)
{
var Obj=document.getElementById(str);
var oldValue=Obj.value;
while(oldValue.indexOf( ", ")!=-1)//寻找每一个中文逗号,并替换
{
Obj.value=oldValue.replace( ", ", ", ");
oldValue=Obj.value;
}
}
//检查字符长度,Str:待检查字符;FS_Alert:错误信息显示容器;Len:限制长度■■■■■■■■■■■■■■■■■■■■■■■■■■■
function CheckContentLen(Str,FS_Alert,Len)
{
var Obj=document.getElementById(Str);
var minLen;
var maxLen;
var index=Len.indexOf( "- ")
if(index> 0)
{
minLen=parseInt(Len.substring(0,index))
maxLen=parseInt(Len.substring(index+1,Len.length))
if(Obj.value.length <minLen||Obj.value.length> maxLen)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 长度范围为 "+Len+ " </span> ";
return false;
}
}else if(Obj.value.length> Len)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 长度范围应小于: "+Len+ " </span> ";
return false;
}
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
//检查字符是否为数字,Str:待检查字符;FS_Alert:错误信息显示容器;isInteger:是否为整数■■■■■■■■■■■■■■■■■■■■■
function isNumber(Str,FS_Alert,Msg,isInteger)
{
var Obj=document.getElementById(Str)
if(Obj.value== ' ')
{
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
else if(isNaN(Obj.value)||Obj.value <0)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> "+Msg+ " </span> ";
return false;
}
else if(!isNaN(Obj.value)&&Obj.value> =0)
{
if(isInteger)
{
if(Obj.value.indexOf( ". ")> =0)//是否为整数
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 请使用整数 </span> ";
return false;
}else
{
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
}
else
{
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
}
}
//检查字符是否为空,Str:待检查字符;FS_Alert:错误信息显示容器■■■■■■■■■■■■■■■■■■■■■■■
function isEmpty(Str,FS_Alert)
{
var Obj=document.getElementById(Str);
var value=Obj.value.replace(/(^\s*)|(\s*$)/g, " ");
var value=Obj.value.replace( "http:// ", " ")
if(value== " ")
{
document.getElementById(FS_Alert).innerHTML= " <img src= 'images/warning.gif '/> <span style= 'color:red; '> 数据不能为空 </span> ";
return false;
}else
{
document.getElementById(FS_Alert).innerHTML= " ";
return true;
}
}
//检查字符是否为中文,Str:待检查字符;FS_Alert:错误信息显示容器■■■■■■■■■■■■■■■■■■■■■■■
function isChinese(Str,FS_Alert)
{
var Number = "0123456789.,abcdefghijklmnopqrstuvwxyz-\/ABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()_ ";
var Obj=document.getElementById(Str);
for (i = 0; i < Obj.value.length;i++)
{
var c = Obj.value.charAt(i);
if (Number.indexOf(c) == -1)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 请不要使用中文字符 </span> ";
return false;
}
}
document.getElementById(FS_Alert).innerHTML= " ";
return true
}
//判断是否包含指定的值,若包含,返回false,并提示用户出错■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
function containValue(str,value,FS_Alert)
{
var Obj=document.getElementById(str);
var str=Obj.value;
var myArray=value.split( ', ');
var flag=false;
for(var i=0;i <myArray.length;i++)
{
if(str.indexOf(myArray[i])!=-1)
flag=true;
}
if(flag)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 输入格式错误!请不要包含[ "+value+ "] </span> ";
return false;
}else
{
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
}
[解决办法]
//检查邮件的合法性■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//@输入框的ID
//@消息容器
function checkMail(str,FS_Alert)
{
var mail=document.getElementById(str).value;
if(mail== " ")
{
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
var strr;
re=/(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;
re.exec(mail);
if (RegExp.$3!= " "&&RegExp.$3!= ". "&&RegExp.$2!= ". ") strr=RegExp.$1+RegExp.$2+RegExp.$3
else
if (RegExp.$2!= " "&&RegExp.$2!= ". ") strr=RegExp.$1+RegExp.$2
else strr=RegExp.$1
if (strr!=mail)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 请填写正确的邮件地址 </span> ";
return false
}
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
//检查日期的合法性■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
function valiateDate(str,FS_Alert)
{
var valobj=document.getElementById(str);
var dar=valobj.value.replace( ". ", "- ")
if(dar== " ")
{
document.getElementById(FS_Alert).innerHTML= " ";
return true;
}
if (dar== " ") return;
if(dar.split( "- ")[0].length==2)
{
var Current_Date = new Date();
var Current_year = Current_Date.getYear();
dar=Current_year.toString().substr(0,2)+dar
}
var datePat = /^(\d{4})(-)(\d{1,2})(-)(\d{1,2})$/;
var matchArray = dar.match(datePat); // is the format ok?
if (matchArray == null)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 请参照格式:年年年年-月月-日日! </span> ";
return false;
}
month = matchArray[3]; // parse date into variables
day = matchArray[5];
year = matchArray[1];
if (month < 1 || month > 12)
{ // check month range
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 月份超界! </span> ";
return false;
}
if (day < 1 || day > 31)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 日期超界! </span> ";
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> "+month+ "月没有31日! </span> ";
return false;
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day> 29)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 2月不能超过29日! </span> ";
return false;
}
if (day==29 && !isleap)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> "+year + "年不是闰年,2月没有29日! </span> ";
return false;
}
}
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
//检查时间的合法性■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
function validateTime(str,FS_Alert)
{
var valobj=document.getElementById(str);
var timeStr=valobj.value.replace( ": ", ": ")
if (timeStr== " ") return false;
if (timeStr.length==4)
timeStr=timeStr.substr(0,2)+ ": "+timeStr.substr(2,2)
valobj.value=timeStr
var timePat = /^(\d{1,2}):(\d{1,2})$/;
var matchArray = timeStr.match(timePat);
if (matchArray == null)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 输入的时间有误,请参照格式:小时:分钟! </span> ";
valobj.value= "08:00 "
return false;
}
hour = matchArray[1];
minute = matchArray[2];
if (hour < 0 || hour > 23)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 小时数必须在00--23之间! </span> ";
return false;
}
if (minute < 0 || minute > 59)
{
document.getElementById(FS_Alert).innerHTML= " <img src= '../images/warning.gif '/> <span class= 'tx '> 分钟数必须在00--59之间! </span> ";
return false;
}
document.getElementById(FS_Alert).innerHTML= " "
return true;
}
//连续检查输入的合法性■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//@Do.these( '输入框ID ',function(){return 检查方法1(param)},function(){return 检查方法2(param)})
var Do ={
these: function()
{
var flag=true;
for (var i = 1; i < arguments.length; i++)
{
var lambda = arguments[i];
if(lambda())
continue;
flag=false;
}
if(flag)
{
document.getElementById(arguments[0]).className= "RightInput "
}else
{
document.getElementById(arguments[0]).className= "WarnInput "
}
}
}
调用:
<input name= "title " type= "text " class= "input " size= "30 " onFocus= "Do.these( 'title ',function(){return isEmpty( 'title ', 'span_NewsTitle ')}) " onKeyUp= "Do.these( 'title ',function(){return isEmpty( 'title ', 'span_NewsTitle ')}) "> <span id= "span_NewsTitle "> </span>
[解决办法]
随便找一个带检查用户名的那种论坛注册页面,参考一下js代码
大体思路就是当文本框失去焦点后,将值传到一个隐藏的iframe里,在那一页判断是否匹配,然后返回值。
给你个参考页面http://bbs.hefei.cc/register.php,在添加用户名那页查看源文件
[解决办法]
使用ajax就可以达到你的要求了
