我知道.net的验证控件很强大,但有时遇到一些特殊情况还是得自己写客户端验证,Reg.html:
......
<script language="JavaScript">
function CheckInput()
{
  if (document.form1.Email.Value == "")
  {
    alert("Email地址不能为空!");
    document.form1.Email.focus();
    return (false); //有何作用?
  }
}
</script>
......
<form name="form1" id="form1" action="vip.asp" method="post" onSubmit="CheckInput()">
...
<input name="Email" type="text" id="Email">
<input type="submit" value="提交" name="Submit" onClick="CheckInput()">
...
</form>
......如上代码,我把form的onSubmit和提交按钮的onClick都指向验证函数,但当点击“提交”按钮后,就是不执行验证,直接跳到了vip.asp页面。问题一:如何把验证函数与页面关联起来,也就是让它对Email的输入执行验证。
问题二:参考很多代码在验证完了都有条return (false);,这条语句有何用意?

解决方案 »

  1.   

    http://www.blueidea.com/bbs/newsdetail.asp?id=1834871&page=1&posts=&Daysprune=&lp=1
    有人写好了!表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上。 
    Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。因为是伪静态类,所以在调用时不需要实例化,直接以"类名+.语法+属性或方法名"来调用。此外,Validator还提供3种不同的错误提示模式,以满足不同的需要。 
      

  2.   

    1.http://www.cnblogs.com/ttyp/archive/2005/05/01/148432.html
    2.return (false);是让按钮不会触发后台事件,也就是不提交了
      

  3.   

    用CustomValidator类
    设置其ClientValidationFunction属性(客户端脚本的方法名)
    http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpgenref/html/cpconcustomvalidatorcontrol.asp
      

  4.   

    1.onSubmit="CheckInput()" 应该是onSubmit="return CheckInput();"2.多个return false 是因为form 的onsubmit事件返回值决定form是否继续submit这么说能不能明白你的2个疑问?