当前位置: 代码迷 >> JavaScript >> 嘿牛软件工程师_成都传智博客_javascript的注册表单验证、提交有关问题
  详细解决方案

嘿牛软件工程师_成都传智博客_javascript的注册表单验证、提交有关问题

热度:155   发布时间:2012-06-24 19:01:53.0
嘿牛程序员__成都传智博客__javascript的注册表单验证、提交问题

---------------------- android培训、java培训、期待与您交流! ----------------------

微笑本节讨论javascript的注册表单问题
       注册表单用的比较多。应用时,主要涉及到信息的输入,关键是信息的验证。下面主要以一个学员注册的注册表单为例,主要涉及到字段的编写、信息的验证。

       信息的验证主要是引用javascript的程序。为了实现程序的效率,方便以后修改,我们将javascript代码全部放在一个validation1.js文件里。访问它时,我们用了相对地址的引用。即src = "validation1.js"或在当前目录下的某个文件src = "js/validation1.js"。
       信息提交时,本程序实现了:如果有一个必填信息没有填正确,就不能提交。而原填写的正确信息仍然保留,直到全部填写正确为止。用到的方法为:
window.event.returnValue = false,阻止浏览器提交表单数据(因为一旦提交,原来的数据全部为空)。
//具体实现如下

//html实现:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<!-- --> 
 <title>学员注册</title>
     <script type = "text/javascript" src = "validation1.js"></script><!--src = "js/validation1.js"> --> 
</head>
<body>
<form name="注册表单(*为必填信息)">
<table border=3>
   <!-- 合并行:rowspan;   合并列:colspan
     对齐 align  --> 
   <tr bgcolor="#C0FFFF">
      <td colspan=2><label id="lbl" >注册表单(*为必填信息)</label></td>
    </tr>  
   <tr >
      <td align=right style="width:150px"><label id="lblName" >登录名</label></td>
      <td><input type=text value="" style="width:200px" id="name" />(用户名必须是字母数字或下划线,不能以数字开头)*</input></td>
     
   </tr>
   <tr>
      <td align=right style="width:150px"><label id="Label1" >密码</label></td>
      <td><input type=password value="" style="width:150px" id="pwd1"/>(密码必须是6~16位字母数字下划线)*</input></td>
   </tr>
   <tr>
      <td align=right style="width:150px"><label id="Label2">确认密码</label></td>
      <td><input type=password value="" style="width:150px" id="pwd2"/>*</input></td>
   </tr>
   <tr >
      <td align=right style="width:150px"><label id="Label3" >邮件地址</label></td>
      <td><input type=text value="" style="width:300px" id="Text1" /></input></td>
     
   </tr>
   <tr >
      <td align=right style="width:150px"><label id="Label4" >确认邮件地址</label></td>
      <td><input type=text value="" style="width:300px" id="Text2" /></input></td>
     
   </tr>
   <tr>
      <td align=right style="width:150px"><label id="Label5">性别</label></td>
      <td>
      <input type=radio name="sex" checked=true />男</input>
       <input type=radio name="sex"  />女</input>
      </td>

   </tr>
   <tr>
      <td align=right style="width:150px">城市</td>
      <td><select>
           <option>城市</option>
           <option selected>西安</option>
           <option>东京</option>
           <option>名
           古屋</option>
          </select> 
      </td>  
   </tr>

   <tr>
      <td align=right style="width:150px">兴趣爱好</td>
      <td>
     <input type=checkbox name="ck" value="1" />旅游</input>
     <input type=checkbox name="ck" value="2"  />运动</input>
     <input type=checkbox name="ck" value="3" />看书</input>
     <input type=checkbox name="ck" value="4" />跑步</input>
     <input type=checkbox name="checkbox1" id="ckall" onclick="checkEvent('ck','ckall')" />全选</input>
     </td>
   </tr>
   <tr>
      <td align=right style="width:150px"><label id="lblmark">个人简历</label></td>
      <td><textarea cols="60" rows="5" id="mark">请输入120个字符以内</textarea></td> <!--

style="width:300px;height:auto;overflow:auto"-->
   </tr>
   <tr align=center>
    
       <td colspan=2>
       <input type=submit value="提交" style="width:60px" onclick = "checkInformation();" /></input> <!--onclick = "checkUserName

();checkPassword();confirmPassword();"-->
      <input type=reset value="重填" style="width:60px" /></input>
      </td>     
   </tr>
</table>
</form>
</body>
</html>

//javascript文件:validation1.js

//javascript实现:

/ JScript source code
//用户名必须是字母数字或下划线,不能以数字开头
//密码必须是6~16位字母数字下划线
//确认密码:必须和密码一致
function checkInformation() {
    var regex = /^[^0-9][a-zA-Z0-9_]{1,}$/;
    var s = document.getElementById("name");
    if (!s.value.match(regex)) {
        alert("用户名错误");
        s.value = "";
        s.focus();
        window.event.returnValue = false;
        return;
    }
    var regex1 = /^[a-zA-Z0-9_]{6,16}$/;
    var p = document.getElementById("pwd1");
    if (!p.value.match(regex1)) {
        alert("密码错误");
        p.value = "";
        p.focus();
        window.event.returnValue = false;
        return;
    }
    var m = document.getElementById("pwd1");
    var n = document.getElementById("pwd2");
    if (m.value != n.value){
        alert("密码不一致");
        n.value = "";
        n.focus();
        window.event.returnValue = false;
        return;
        }
    else
        alert("两次密码输入一致");
}


function checkEvent(name, allCheckId) {
    var allCk = document.getElementById(allCheckId);
    //var allCk = document.getElementByName(allCheckId);
    // if (allCk[0].checked == true)
    if (allCk.checked == true)

        checkAllName(name);
    else
        checkAllNo(name);
}
//全选
function checkAllName(name) {
    var names = document.getElementsByName(name);
    var len = names.length;
    if (len > 0) {
        var i = 0;
        for (i = 0; i < len; i++)
            names[i].checked = true;

    }
}
//全不选
function checkAllNo(name) {
    var names = document.getElementsByName(name);
    var len = names.length;
    if (len > 0) {
        var i = 0;
        for (i = 0; i < len; i++)
            names[i].checked = false;
    }
}

//实现截图如下:

 


再见

---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima

  相关解决方案