日期:2014-05-17  浏览次数:21274 次

提问:关于表单空值检测的问题
我想在表单提交的时候检测某个或者多个文本框是否空值   如果   空值则提示输入

是在当前页面检测还是在接受数据的文件内检测比较好

用MSGBOX提示是否更好

------解决方案--------------------
两个都要检测。当前页面检测时为了及时给用户提示。接收数据页面检测是为了防止用户绕过表单页的检测,防止系统出错。
------解决方案--------------------
发一段当控件失去焦点的时候显示提示信息的给你,个人认为这种最友好
代码:
//检查字符是否为空,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;
}
}

调用方法:
<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>

------解决方案--------------------
<form method= "POST " name= "form1 " onsubmit= "return formcheck() ">
<p> <input type= "text " name= "T1 " size= "20 "> <input type= "submit " value= "提交 " name= "B1 "> <input type= "reset " value= "重置 " name= "B2 "> </p>
</form>

<script type= "text/vbscript ">
function formcheck()
if document.form1.T1.value = " " then
msgbox "请输入值 "
formcheck = false
end if
end function
</script>
------解决方案--------------------
<form method= "POST " name= "form1 " onsubmit= "return formcheck(this) ">
<p> <input type= "text " name= "T1 " size= "20 "> <input type= "submit " value= "提交 " name= "B1 "> <input type= "reset " value= "重置 " name= "B2 "> </p>
</form>

<script language= "javascript ">
function formcheck(objForm){
if(objForm.T1.value == " "){
alert( "请输入值 ");
objForm.T1.focus()
return false;
}
} </script>

前台验证可能javascript多些。对于验证来说,前台后台都应该验证,前台验证可以省去提交到服务器再返回的时间,通过浏览器来执行,但对于一些不守规矩的人来说,可能会绕过前台验证直接到后台,比如外部提交,这时就需要后台验证了。