加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

document.myform 什么意思  javascript 验证用户名密码 表单

(2011-12-01 16:55:00)
标签:

杂谈

http://zhidao.baidu.com/question/79090135.html

 

<script language="javascript">

document.myform.username.focus();

function checkform()
{
if(document.myform.username.value=="")
{
  alert("请输入用户名!");
  document.myform.username.focus();
  return false;
}
if(document.myform.password.value == "")
{
  alert("请输入密码!");
  document.myform.password.focus();
  return false;
}
    return true;
}
</script>

 

 

你上面的代码是一个javascript,应该是从某个网页上或htm文档上拷贝过来的。
通过上面的代码看,这个网页 至少有一个表单 并且名字(即name属性)为 myform,此表单域下 至少有2个表单元素,1个是 文本框 名字为 username 另一个是密码框 名字为 password 。
在来说一下这个 checkform()函数 ,很明显 ,他的作用是 检查 文本框或者 密码框 是不是为空的。这个函数 一定 在 myform表单 提交的时候触发。

<script language="javascript"> //脚本开始 语言是javascript

document.myform.username.focus(); //本文档的表单域下的username获得输入焦点,光标会点位到 username 文本框位置。

function checkform()//函数
{
if(document.myform.username.value=="") //如果username的值为空,那么
{
alert("请输入用户名!"); //弹出一个警告窗口 信息为 “请输入用户名”
document.myform.username.focus(); //然后输入焦点或者光标定位到这个为空的文本框里。
return false; //返回一个 失败
}
//下面 的意思 跟上面一样,区别是 检查的密码框
if(document.myform.password.value == "") //如果密码为空
{
alert("请输入密码!"); //警告。
document.myform.password.focus(); //输入焦点 到密码框。
return false; //返回一个 失败
}
return true; //如果上面的2个if都不成立 那么就 返回一个 正确
}
</script> //脚本结束。

 

 

 

没有先后顺序可言,onsubmit 是表单提交的时候发生,action只是表单提交的处理页面,
如果想先进行表单的合法性检查时,可以用JS来完成, 另外在表单加入如下:

<form name="myform" id="myform" action="....处理页面" onsubmit="return checkForm();">

checkForm()是你在别处写的JS函数,可以在这个函数中进行合法性检查,合法提交表单,不合法不提交 ,onsubmit一般用来条用js函数进行验证,保证数据的完整性、规范性、安全性等。
如果验证通过就返回true,提交,否则返回false,不提交。

 

 

<tr><td><table><tr><td> 
<% If (Session("username")=""  ) Then %>  <!--如果没有登录,Session("username")为空,显示用户名、密码登陆框-->
<form action="editor\Example\NewsSystem\login1.asp" method="post" name="myform" onSubmit="return CheckForm();">
<tr>
  <td colspan="2" align="center" ><p class="STYLE1"><img src="images/yhdl.gif" style="width:150"/></p>
    </td>
</tr>
<tr><td  width="50%" align="right">用户名:</td><td><input type='text' name ='username' style='width:80'/></td></tr>
<tr><td  width="50%" align="right">密码:</td><td><input type='password' name ='passwd' style='width:80'/></td></tr>
<tr><td  colspan="2" align='center'><input type='submit' value='提交'/>&nbsp;&nbsp;
<input type='reset' value='重置'/>
</td></tr>
<tr><td  colspan="2" align='center'>
</td></tr>
</form>
<% Else %><!--如果已经登录,显示“您好”+用户名-->

<tr><td>您好!<%=session("username")%></td></tr>
<tr><td><a href='javascript:modifypd()' >[修改密码]</a>&nbsp;&nbsp;<a href='javascript:modifyperson()' >[个人资料]</a><br>


<br>
<a href='javascript:tuichu()' >[退出]</a></td></tr>
<% End if%>
</td></tr></table></td></tr>

 

 

login1.asp

*******************************************************************************

<!--#include file = "Startup.asp"-->

<%

Dim username,passwd
 username = Trim(Request("username"))
 passwd = Trim(Request("passwd"))

sSql = "SELECT * FROM fyusers where d_username='"&username&"'   and d_password='"&passwd&"'"
 oRs.Open sSql, oConn, 0, 1      '一旦打开,用完以后就要紧接着关闭,否则会出现数据库打开的多了变慢、连接就满了就连接不上。所用到的oRs已经在#include file = "Startup.asp"定义好了
 If Not oRs.Eof Then
  Do While Not oRs.Eof
      Session("username")=oRs("d_username")
           Session("userrole")=oRs("d_role")
     Session("userid")=oRs("d_id")
          response.redirect "/index.asp"
   oRs.MoveNext
  Loop
 Else
  Session("LoginSuccess")=""
response.write"<script> alert('用户名或者密码错误,请重新登陆!');window.location='/index.asp';</script>"
 End If
 oRs.Close  '用完紧接着关闭数据库连接,很重要!

%>

******************************************************************************

'index.asp要显示新闻,也要用到数据库链接,用完在index的最后也要关闭。

 

 

startup.asp

******************************************************************************************

<%@ Language=VBScript CODEPAGE=936%>
<% Option Explicit %>

<%

' ============================================
' 常用全局变量
' ============================================
' 数据库对象
Dim oConn, oRs, sSql


' ============================================
' 初始数据处理
' ============================================
' 初始化数据库连接
Call DBConnBegin()          '执行DBConnBegin函数


' ********************************************
' 以下为数据库相关函数
' ********************************************
' ============================================
' 初始化数据库连接对象
' 使用原则:最迟调用,最早释放
' ============================================
Sub DBConnBegin()             '定义DBConnBegin函数,并未执行
 ' 如果数据库对象已打开,不要再打开
 If IsObject(oConn) = True Then Exit Sub

 ' 你可以不需要打开数据库连接对象而直接打开记录集对象,但如果你需要打开多个记录集对象的话,效率是很低的。
 ' 如果你不创建一个数据库连接对象,ADO会在每个记录集打开时自动创建一个新的数据库连接对象,就算你用的是相同的SQL语句。
 Set oConn = Server.CreateObject("ADODB.Connection")

 On Error Resume Next
 ' Access数据库
 oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db.mdb")
 
'response.write "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db.mdb")

 If Err.Number > 0 Then
  ' 显示错误信息,并且发送邮件通知管理员
  'Call DBConnError(Err)
  
  ' 完全地退出正在运行的脚本
  Response.End
 End If

 ' 创建一个记录集
 Set oRs = Server.CreateObject( "ADODB.Recordset" )
End Sub

' ============================================
' 释放数据库连接对象
' ============================================
Sub DBConnEnd()
 On Error Resume Next
 oRs.Close
 Set oRs = Nothing
 oConn.Close
 Set oConn = Nothing
End Sub
%>

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有