<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <SCRIPT LANGUAGE="JavaScript">
        <!--
        function $(id){
            return document.getElementById(id);
        }
        
        function test(obj){
            var s = obj.value;
            if (!s || s.length == 0) {
                return;
            }
            
            r = /^((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d?|0)\.){3}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d?|0)$/;
            if (!r.test(s)) {
                alert("格式错误!");
                setTimeout('$("' + obj.id + '").select();', 1);
            }
        }
        
        //-->
    </SCRIPT>
    <body>
        <table width="400">
            <tr>
                <td>
                    <table width="87%" height="73" border="0" align="center" cellpadding="0" cellspacing="1">
                        <tr>
                            <td width="44%" height="24" align="right">
                                IP地址:
                            </td>
                            <td width="56%" align="left">
                                <input name="ip" type="text" id="ip" value="" onchange="test(this);"/>
                            </td>
                        </tr>
                        <tr>
                            <td width="44%" height="24" align="right">
                                子网掩码:
                            </td>
                            <td width="56%" align="left">
                                <input name="netmask" type="text" id="netmask" value="" onchange="test(this);"/>
                            </td>
                        </tr>
                        <tr>
                            <td width="44%" height="24" align="right">
                                默认网关:
                            </td>
                            <td width="56%" align="left">
                                <input name="gateway" type="text" id="gateway" value="" onchange="test(this);"/>
                            </td>
                        </tr>
                        <tr>
                            <td height="24" align="right">
                                服务器别名:
                            </td>
                            <td align="left">
                                <input name="servername" type="text" id="servername" value="" />
                            </td>
                        </tr>
                    </table>
                    <table width="87%" height="24" border="0" align="center" cellpadding="0" cellspacing="1">
                        <tr>
                            <td height="25" align="center">
                                <input name="tijiao" type="submit" class="btn" border="0" value="确 定">&nbsp; <input type="checkbox" value="1" id="chkLock" onclick="lock(this)" name="chkLock" />
                                <label for="chkLock">
                                    启用DHCP
                                </label>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </body>
</html>

解决方案 »

  1.   

    把 onchange 替换成 onblur吧。
      

  2.   

    楼上的代码我以前也用过 可是我想要是当点击“不启用DHCP”单选框的时候 点击 提交的时候再检查 这样可以做吗?楼上的代码 是如果不点text框的时候照样可以提交的 
      

  3.   

    HOHO。
    你居然用过了,上次我帖代码的时候,你已经结帖了呀。你这个要求容易实现呀。
    只要在 onsubmit中进行一下检查就可以了。
      

  4.   


    <html lang="utf-8" xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=GBK">
            <title></title>
            <style>
            </style>
        </head>
        <script language="JavaScript">
          String.prototype.trim = function(){  //去首尾空格的prototype
       return this.replace(/^\s+|\s+$/g,'');
      }   
       function checkIp(val,obj){
         var re = /^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/;

     if(!re.test(val.trim())){
    alert('IP格式不对!');
    obj.focus();
    obj.select();
    return false;
     }
    return true;
       }
       
     
       function validateForm(){
        var  isCheck = document.getElementById('t1');
    var  all = false;
    if(isCheck.checked){
        all = true;
    }
       var  ip = document.getElementById('ip');
       var netmask = document.getElementById('netmask');
       var  gateway = document.getElementById('gateway');
       var servername = document.getElementById('servername');
           
       var result = true;

    if(all){
     if(!checkIp(ip.value,ip)) result = false;
     if(result&&!checkIp(netmask.value,netmask)) result = false;
     if(result&&!checkIp(gateway.value,gateway)) result = false;
     }
      if(result){
                  ip.form.submit();//提交表单
      }else{
        return false;
      }

       }

        </script>
        <body>
           <FORM name="admin" method="post" action="xitongok.php">
                  <td height="125" ><table width="87%" height="73" border="0" align="center" cellpadding="0" cellspacing="1">
                   <tr>
                      <td height="24" align="right" >&nbsp;<input name="r1" type="radio" id="t1" value="0">启用DHCP</td>
                      <td align="left" >&nbsp;<input name="r1" type="radio" value="1" >不启用DHCP</td>
                    </tr>                <tr>
                      <td width="44%" height="24" align="right" >IP地址:</td>
                            <td width="56%" align="left" ><input name="ip" type="text"  id="ip" onKeyUp="checkIp(this.value,this)"/></td>
                    </tr>
                                    <tr>
                      <td width="44%" height="24" align="right" >子网掩码:</td>
                            <td width="56%" align="left" ><input name="netmask" type="text"  id="netmask"  /></td>
                                    </tr>
                                    <tr>
                      <td width="44%" height="24" align="right" >默认网关:</td>
                            <td width="56%" align="left" ><input name="gateway" type="text"  id="gateway" /></td>
                    </tr>
                    <tr>
                      <td height="24" align="right" >服务器别名:</td>
                            <td align="left" ><input name="servername" type="text" id="servername" /></td>
                    </tr>
                  </table>
                  <table width="87%" height="24" border="0" align="center" cellpadding="0" cellspacing="1">
                        <tr>
                          <td height="25" align="center" ><input name="tijiao" type="button" class="btn" border="0" value="确 定"  onclick="validateForm()">&nbsp; 
                            </td>
                        </tr>
                    </table></td></FORM>
        </body>
    </html>
      

  5.   

    关于radio button的处理我就不做了。
    你和之前的帖子合一下吧。
    记得把变量 useDHCP设置一下。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        </head>
        <SCRIPT LANGUAGE="JavaScript">
            <!--
            function $(id){
                return document.getElementById(id);
            }
            
    var useDHCP = false;        function check(obj){
                var s = obj.value;
                if (!s || s.length == 0) {
                    return;
                }
                
                r = /^((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d?|0)\.){3}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d?|0)$/;
                if (!r.test(s)) {
                    alert("格式错误!");
                    setTimeout('$("' + obj.id + '").select();', 1);
                    return false;
                }
                return true;
            }
            
            function validForm(form){
                if (!form) 
                    return false;
                if (useDHCP) 
                    return true;
                var inputs = form.getElementsByTagName("input");
                
                for (var i = 0; i < inputs.length; i++) {
                    if (inputs[i].type == 'text' && inputs[i].name != "servername") {
                        if (!check(inputs[i])) {
                            return false;
                        }
                    }
                }
                return true;
            }
            
            //-->
        </SCRIPT>
        <body>
            <form onsubmit="return(validForm(this));">
                <table width="400" onsub>
                    <tr>
                        <td>
                            <table width="87%" height="73" border="0" align="center" cellpadding="0" cellspacing="1">
                                <tr>
                                    <td width="44%" height="24" align="right">
                                        IP地址:
                                    </td>
                                    <td width="56%" align="left">
                                        <input name="ip" type="text" id="ip" value="" onblur="test(this);"/>
                                    </td>
                                </tr>
                                <tr>
                                    <td width="44%" height="24" align="right">
                                        子网掩码:
                                    </td>
                                    <td width="56%" align="left">
                                        <input name="netmask" type="text" id="netmask" value="" onblur="test(this);"/>
                                    </td>
                                </tr>
                                <tr>
                                    <td width="44%" height="24" align="right">
                                        默认网关:
                                    </td>
                                    <td width="56%" align="left">
                                        <input name="gateway" type="text" id="gateway" value="" onblur="test(this);"/>
                                    </td>
                                </tr>
                                <tr>
                                    <td height="24" align="right">
                                        服务器别名:
                                    </td>
                                    <td align="left">
                                        <input name="servername" type="text" id="servername" value="" />
                                    </td>
                                </tr>
                            </table>
                            <table width="87%" height="24" border="0" align="center" cellpadding="0" cellspacing="1">
                                <tr>
                                    <td height="25" align="center">
                                        <input name="tijiao" type="submit" class="btn" border="0" value="确 定">
    <input name="r1" type="radio" value="0" onclick="lock(this);">启用DHCP
    <input name="r1" type="radio" value="1" onclick="lock(this);" checked="checked">不启用DHCP
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </form>
        </body>
    </html>
      

  6.   

    你是copy 去的吗,我试了没问题啊!
    我在你的基础改了点,直接用你的肯定不行