在表单那里这样加
<form id=form1 onsubmit=return checkform() ……>在head里这样加
<script>
function checkform(){
    if(document.form1.uid.value==''){    //如果用户名的值为空
        document.form1.uid.focus();      //将光标置入用户名项所在的表单
        alert("对不起,用户名不能为空!");  //弹出一个提示对话框
        return false;                    //阻止表单的提交。这个很重要,如果没有写那么上边的验证都等于白干活了。
    }
}
</script>

解决方案 »

  1.   


    <!--《%
    '用ASP连接你自己的数据库conn
    '用ASP建立你自己的数据库连接rs
    '假设用户名的表为users[id|username|password]
    '假设users 表的内容如下:
      id username password
      1  aaaaaa   123456
      2  bbbbbb   111111
      3  cccccc   222222
      4  dddddd   666666
      5  eeeeee   777777
      6  ffffff   999888
      
    Set rs=Server.createObject("adodb.recordset")
        sql="select * from users order by id"
        rs.open sql, conn, 1, 1
        rs_total=rs.recordCount '取得user表里的数据数量
    usernames="" '先定义username为空,username的值以后是要代到javascript 里面的
    passwords="" '先定义password为空,password的值以后是要代到javascript 里面的
    For i=1 to rs_total 
        usernames=usernames+rs("username")&","
    passwords=passwords+rs("password")&","
    rs.movenext
    if rs.eof then exit for
    Next
    usernames=mid(usernames, 1, len(usernames)-1) '去掉usernames字符串最后一个“,”
    passwords=mid(passwords, 1, len(passwords)-1) '去掉passwords字符串最后一个“,”
    rs.close
    set rs=nothing
    conn.close
    set conn=nothing
    %》
    运行以上代码,从数据表里得到如下值:
    usernames="aaaaaa,bbbbbb,cccccc,dddddd,eeeeee,ffffff"
    passwords="123456,111111,222222,666666,777777,999888"-->
    <script language="javascript">
    //跟据数据库得到以下字符串:
    var usernames="aaaaaa,bbbbbb,cccccc,dddddd,eeeeee,ffffff";
    var passwords="123456,111111,222222,666666,777777,999888";
    function login(userinput, passinput, usernames, passwords){
        var user=document.getElementById(userinput).value;
    var pass=document.getElementById(passinput).value;
    var arrUser=usernames.split(","); //用字符串usernames建立数组arrUser
    var arrPass=passwords.split(","); //用字符串passwords建立数组arrPass
    var len=arrUser.length //获得用户的数量
    for (var i=0; i<len; i++){ //遍历 arrUser 数组
        if (arrUser[i]==user){//输入的用户名存在时,验证用户名和密码
        var ckUser=true;
        if (arrPass[i]=pass){ckUser=true; break;}else{ckUser=false; break;}//用户名和密码都正确,ckUser 就是真否则就是假
    }else{//输入的用户名不存在时,ckUser为假
        var ckUser=false
    }
    }
    return ckUser //for 循环结束,返回chUser的最终值
    }
    </script>
    <hr>
    <form id="form1" name="form1" method="post" action="">
      帐号:
      <input name="username" type="text" id="username" />
      <br />
      密码:
      <input name="password" type="password" id="password" value="">
      <br />
      <input type="button" name="Submit" value="登录" onclick="if (login('username', 'password', usernames, passwords)){alert('登录成功!!')}else{alert('登录失败!!!');this.form.reset();}"/>
      <input type="reset" name="Submit2" value="重置" />
      <hr>
    </form>
      &lt;%<br>
    '用ASP连接你自己的数据库conn<br>
    '用ASP建立你自己的数据库连接rs<br>
    '假设用户名的表为users[id|username|password]<br>
    '假设users 表的内容如下:<br>
    <strong>-----------------------------<br>
    id username password<br>
    1 &nbsp; aaaaaa  &nbsp; 123456<br>
    2 &nbsp; bbbbbb  &nbsp; 111111<br>
    3 &nbsp; cccccc  &nbsp; 222222<br>
    4 &nbsp; dddddd  &nbsp; 666666<br>
    5 &nbsp; eeeeee  &nbsp; 777777<br>
    6 &nbsp; ffffff  &nbsp; 999888<br>
    -----------------------------</strong><br>
    <br>
    Set rs=Server.createObject(&quot;adodb.recordset&quot;)<br>
    sql=&quot;select * from users order by id&quot;<br>
    rs.open sql, conn, 1, 1<br>
    rs_total=rs.recordCount '取得user表里的数据数量<br>
    usernames=&quot;&quot; '先定义username为空,username的值以后是要代到javascript 里面的<br>
    passwords=&quot;&quot; '先定义password为空,password的值以后是要代到javascript 里面的<br>
    For i=1 to rs_total <br>
    usernames=usernames+rs(&quot;username&quot;)&amp;&quot;,&quot;<br>
    passwords=passwords+rs(&quot;password&quot;)&amp;&quot;,&quot;<br>
    rs.movenext<br>
    if rs.eof then exit for <br>
    Next<br>
    usernames=mid(usernames, 1, len(usernames)-1) '去掉usernames字符串最后一个“,”<br>
    passwords=mid(passwords, 1, len(passwords)-1) '去掉passwords字符串最后一个“,”<br>
    rs.close<br>
    set rs=nothing<br>
    conn.close<br>
    set conn=nothing<br>
    %&gt;<br>
    运行以上代码,从数据表里得到如下值:<br>
    usernames=&quot;aaaaaa,bbbbbb,cccccc,dddddd,eeeeee,ffffff&quot; 就是&lt;%=usernames%&gt; <br>
    passwords=&quot;123456,111111,222222,666666,777777,999888&quot;就是&lt;%=passwords%&gt;<br>