首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP+MYSQL编程 » [原创]用javascript在客户端验证表单  


  作者:andymylove
  注册时间:2005-05-26
  主题/回复:8/11
  积分:451
  等级:★★☆(五级)
  称号:略有小成

  andy-my-love@163..
  27548
  www.

 

 发表:2005-06-03 07:06:48 阅读 2648 次 回复 3 次 得分1  |   字号 字色
[原创]用javascript在客户端验证表单
请问站长在做注册表单时,想在客户端用javascript来判断其输入值是否为空后,再去服务器端处理我写的部分代码如下
 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="JavaScript">
 function check(rgfrm)
  {if(window.document.rgfrm.username.value =="")
 {alter("请输入用户名");
    document.rgfrm.username.focus();
    return false;
 }
 if(window.document.rgfrm.password.value =="")
   {alter("请输入正确密码");
    document.rgfrm.password.focus();
  return false;
 }
 if(window.document.rgfrm.password.length<4"")
   {alter("请输入正确密码");
    document.rgfrm.password.focus();
  return false;
 }
   if(window.document.rgfrm.password.value!= window.document.rgfrm.repassword.value )
 {alter("您两次输入的密码不同,请重输");
  document.rgfrm.password.focus();
  return false;  
  }  
   if(window.document.rgfrm.nick.value=="")
   {alter("请输入昵称");
    document.rgfrm.nick.focus();
  return false;
 }
   return ture;
  }
</script>
</head>

<body>
<form  method="POST" action="register.php" name="rgfrm" Onsubmit="return check(this);">
  <table width="789" height="442" border="0" align="center" cellpadding="3" cellspacing="0" bgcolor="#66CC66">
    <tr> 
  <td width="83"> 用户ID:</td>
  <td width="694"> <input type="text" name="textfield"> </td>
    </tr>
    <tr> 
  <td>用户名:</td>
  <td> <input type="text" name="name"> </td>
    </tr>
    <tr> 
  <td>密码:</td>
  <td><input type="password" name="password">
     <?php if($erro=="1") echo "用户名已存在"  ?></td>
    </tr>
    <tr>
  <td height="31"> </td>
  <td><p><font face="隶书"><strong>合法密码必须由4到20各字符组成,</strong></font><font face="隶书"><strong>可由英文字母(大小写不限)和阿拉伯数字组成;</strong></font></p>
    </td>
    </tr>
    <tr> 
  <td>重复密码:</td>
  <td><input type="password" name="repassword"></td>
    </tr>
    <tr> 
  <td>昵称:</td>
  <td><input type="text" name="nick"></td>
    </tr></body></html>
为什么这段javascript代码得不到执行呀,也就是说当你不输入内容时
不会输出javascript代码里的"请输入用户名"等提示
请斑竹帮解决以下,看是怎么回事呀?
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-06-03 16:10:42  评分:1 

Onsubmit= 修改为 onSubmit

<script language="JavaScript">
 function check(rgfrm){



 }
把 check()这个函数中所有 doucument.rgfrm....改成 rgfrm
而且,不建议实参的名字和表单的名字一致。容易引起混乱。
比如的<form name="rgfrm"...> 而 function check(rgfrm){}这两个rgfrm名字一样容易引起混淆。建议将
function check(rgfrm){} 修改为  function check(abcabc){}
这样,然后在 check()函数中用:
 abcabc.username.value==""    abcabc.password.value=="" 来判断。
 2#楼  
 
  回复人:andymylove
  注册时间:2005-05-26
  主题/回复:8/11
  积分:451
  等级:★★☆(五级)
  称号:略有小成

   
 2#楼 发表于2005-06-03 21:09:20  评分:× 

我按照您说的改过了,可还是不行呀.麻烦站长给个这种用javascript在客户端验证表单的具体例子吧,麻烦站长了!!!!!!!!
 3#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 3#楼 发表于2005-06-04 16:44:43  评分: 

不行?不可能吧。
----------------------------
下面是一个简单的例子,保存成 a.html 就可以运行。多个表单的时候也是同理。

<script language=javascript>
function inputcheck(theForm){
if(theForm.username.value==""){
 alert('错误!用户名不能为空!');
 return false;
 }
return true;
}
</script>
<form action=aaaa.php method=post onsubmit='return inputcheck(this);'>
<input type="text" name="username">
<input type="submit" value="登陆" name="denglu">
</form>
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.006sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版