请问怎样可以做出这样的效果???
假如你在填表单的时候,有些表单里的内容没填,或所填的内容不合法,就在相应的表单后面出现红色的文字以示警告,就好像申请QQ号码的那页面(http://freereg.)。有谁可以告诉我这怎样可以做到这样的效果呢!?
能给我个例子参考一下吗?有源码的!
谢谢!在线等!!!!!!!!!!
2008-06-01 14:14
程序代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www. http-equiv="content-type" content="text/html; charset=gb2312" />
<TITLE>输入验证函数</TITLE>
<script language="javascript" type="text/javascript">
function test(obj,strTag){
var pattern = /.\n/;//正则表答式
var objstr = obj.id; // INPUT的ID
var objnext = obj.nextSibling;//INPUT的下一元素(span)
var strValue = obj.value;//INPUT的值
if(!pattern.test(strValue))//输入所有的值都要到这里来判断
{objnext.innerHTML=verifyTextControl(strTag,strValue); }
}
function verifyTextControl(strTag,strValue){
var strType;
var intType;
var strMsgStr;
var strControl;
var strControl1;
var strControl12;
var strControl2;
if(strTag=="") return true;
strType=strTag.substring(0,3);
intType=strTag.substring(4,5);
strMsgStr=strTag.substring(6);
strControl1=' <img src="http://www. color="red">';
strControl12='</font>';
strControl2=' <img src="http://www.';
switch(strType){
//整型
case "int":
if(intType=="1"){
if(isNoNull(strValue)==false){
strControl=strControl1+strMsgStr+"不能为空!请输入"+strMsgStr+"!"+strControl12;
return (strControl);
}else{
if(onlynumber(strValue)==false){
strControl=strControl1+strMsgStr+"内应填写数字!"+strControl12;
return (strControl);
}else{
return (strControl2);
}
}
}else{
if((isNoNull(strValue))&&(onlynumber(strValue)==false)){
strControl=strControl1+strMsgStr+"内应填写数字!"+strControl12;
return (strControl);
}else{return (strControl2);}
}
break;
//字符串
case "str":
if(intType=="1"){
if(isNoNull(strValue)==false){
strControl=strControl1+strMsgStr+"不能为空!请输入"+strMsgStr+"!"+strControl12;
return (strControl);
}else{return (strControl2);}
}else{return (strControl2);}
break;
<!--这里可以扩展其它验证-->
//其它
default:
strControl="函数尚未定义'"+strMsgStr+"'的"+strType+"类别!";
break;
}
return (strControl);
}
function CStr(inp){return(""+inp+"");}
function Trim(str){
var i,strlength,t,chartemp,returnstr;
str=CStr(str);
strlength=str.length;
t=str;
for(i=0;i<strlength;i++){
chartemp=str.substring(i,i+1);
if(chartemp==" "){t=str.substring(i+1,strlength);}else{break;}
}
returnstr=t;
strlength=t.length;
for(i=strlength;i>=0;i--){
chartemp=t.substring(i,i-1);
if(chartemp==" "){
returnstr=t.substring(i-1,0);
}
else{
break;
}
}
return (returnstr);
}
function isNoNull(str){
if(Trim(str)==""||Trim(str)==",.") return false;
return true;
}
function onlynumber(str)
{if(!/^\d+$/.test(str))
{//alert("只能输入数字 ");
return false;
};return true;
}
</script>
</head>
<style>
.b1,.b2{height : 22px;border:1px solid green}
.b2{height : 22px;border-color:red}
td span {
color : #00BB01; /*字体颜色*/
overflow : hidden; /*溢出选项—内容会被修剪,但是浏览器不会显示供查看内容的滚动条*/
text-align : left; /*水平排列—把文本排列到左边,默认值:由浏览器决定*/
padding-top : 4px; /*上内边距*/
height : 22px; /*整体高度*/
}
</style>
<body>
<table align="center">
<tr>
<td><!-- 输入框 -->
<INPUT type="text" name="text1" id="text1" value="" class="b1" onFocus="this.className='b2'" onBlur="test(this,'int,1,中国');this.className='b1'"/><span id="validatorText1"> </span> </td>
<td><!-- 输入框 -->
<INPUT type="text" name="text2" id="text2" value="" class="b1" onFocus="this.className='b2'" onBlur="test(this,'str,1,美国');this.className='b1'"/><span id="validatorText2"> </span> </td>
<td><!-- 输入框 -->
<INPUT type="text" name="text3" id="text3" value="" class="b1" onFocus="this.className='b2'" onBlur="test(this,'int,0,英国');this.className='b1'"/><span id="validatorText3"> </span> </td>
</tr>
</table>
</body>
</HTML>

2008-06-01 14:16
2008-06-01 14:20
2008-06-01 14:23
2008-06-01 14:26
2008-06-01 14:29