论坛首页 Web前端技术论坛

看看我的js表单验证程序,怎样使它更具重用性

浏览 13737 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-22  
我又想提示区域用dom对象自动生成,不需要事先写那么多span,所以又有了1.3版

<script language="javascript">
function test(id1){
	var pattern = /.+/;
	var b = document.getElementById(id1).value;

	var span = document.createElement("SPAN");
	span.id = "__ErrorMessagePanel";
	span.style.color = "red";
	document.getElementById(id1).parentNode.appendChild(span);
	if(!pattern.test(b)){
		span.innerHTML = "不许为空";
	}
	else{
		span.innerHTML = "";
	}
}

</script>
<table align="center">
<tr>
<td>
<!-- 输入框 -->
<INPUT type="text" name="text1" id="text1" value="welcome" onblur="test(this.id)"/>
</td>
<td>
<!-- 输入框 -->
<INPUT type="text" name="text2" id="text3" value="welcome" onblur="test(this.id)"/>
</td>
<td>
<!-- 输入框 -->
<INPUT type="text" name="text3" id="text5" value="welcome" onblur="test(this.id)"/>
</td>
</tr>
</table>


但现在的问题是:给出错误信息后我在输入正确的值,移开焦点,但错误信息还在,正常情况是自动清除错误信息,这个谁能教教我怎么弄?
0 请登录后投票
   发表时间:2006-09-25  
我自己来:用下面这个js方法就可以动态创建span和消除span(span里边是提示信息)


function test(id1){
var pattern = /.+/;
var b = document.getElementById(id1).value;
var span = document.getElementById("span"+id1);
if(!pattern.test(b)){
if(!span){
span = document.createElement("SPAN");
span.id = "span"+id1;
span.style.color = "red";
span.innerHTML = "不许为空";
document.getElementById(id1).parentNode.appendChild(span);
}
}else if(span){
span.parentNode.removeChild(span);
}
}

0 请登录后投票
   发表时间:2006-09-25  
不知你有没有兴趣看一下这个用jquery写的插件,功能非常强大,即使用不直接使用也可以学习一下...

http://fuzz.bassistance.de/jQueryFormValidation/validateTest.html

http://www.jquery.com
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics