<html>
<head>
<script>
//判断  checkbox 是否选中
function onchang(){
var ckbox = document.getElementById('ckbox');
if(ckbox.checked == true){
if(getValue() == true){
alert(11);
}else{
// 验证一切不合理
return false;
}
}else{
//没有选中 checkbox
}alert("成功");
}
</script>
<script>
//获取时间  是否成功
function getValue(){
var tname = document.getElementById('tname').value;
if(tname != ""){
if(cheValue(tname) == true){
return true;
}else{
alert("时间验证失败");
return false;
}
}else{
alert("请输入时间");
return false;
}
}
</script>
<script>
//验证时间  是否成功
function cheValue(tname){
var partten = /^([01][0-9]|2[0-3])(:[0-5][0-9]){1,2}$/;
if(partten.test(tname)){
return true;
}else{
alert("时间格式不正确");
return false;
}
}
</script>
</head>
<body>
<select name="sel" onchange = "onchang();">
<option value="1">1</option><option value="2">2</option><option vlaue="3">3</option>
</select>
<br>
<br>
<input type="checkbox" name="ckbox"/>&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="tname" value=""/>
</body>
</html>
    代码说明
      
    方法 function onchang()   当下拉框发生改变的时候, 先判断  checkbox  是否选种.    方法 function getValue()  当checkbox 选中时 ,判断 文本框中是否有值。
    
    方法 cheValue(tname)   验证文本框中的值是否合理性。    我要的效果是 希望 onchang() 方法能得到  文本框中合理的值,并且验证成功。 返还给 onchang();        希望大虾们 帮忙解决 ,谢谢 !

解决方案 »

  1.   

    不用,但是不是每个浏览器都兼容的,而且如果name重复怎么办不信 你用下面的代码看看<html>
        <head>
            <script>
                //判断  checkbox 是否选中
                function onchang(){
                    var ckbox = document.getElementById('ckbox');
                    if(ckbox.checked == true){
                        if(getValue() == true){
                            alert(11);
                        }else{
                            // 验证一切不合理
                            return false;
                        }
                    }else{
                        //没有选中 checkbox
                    }alert("成功");
                }
            </script>
            <script>
                //获取时间  是否成功
                function getValue(){
                    var tname = document.getElementById('tname').value;
                    if(tname != ""){
                        if(cheValue(tname) == true){
                            return true;
                        }else{
                            alert("时间验证失败");
                            return false;
                        }
                    }else{
                        alert("请输入时间");
                        return false;
                    }
                }
            </script>
            <script>
                //验证时间  是否成功
                function cheValue(tname){
                    var partten = /^([01][0-9]|2[0-3])(:[0-5][0-9]){1,2}$/;
                    if(partten.test(tname)){
                        return true;
                    }else{
                        alert("时间格式不正确");
                        return false;
                    }
                }
            </script>
        </head>
        <body>
            <select name="sel" onchange = "onchang();">
                <option value="1">1</option><option value="2">2</option><option vlaue="3">3</option>
            </select>
            <br>
            <br>
            <input type="checkbox" id="ckbox" name="ckbox"/>&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" id="tname" name="tname" value=""/>
        </body>
    </html>
      

  2.   

     这位大哥,你明白我的用意吗  我现在想 让 onchang()  获取 返回值  
      

  3.   

    <html>
        <head>
            <script>
                //判断  checkbox 是否选中
                function onchang(){
                    var ckbox = document.getElementById('ckbox');
                    if(ckbox.checked == true){
                        if(getValue() == true){
                            return document.getElementById('tname').value;  //难道这样不是返回值吗?
                        }else{
                            // 验证一切不合理
                            return false;
                        }
                    }else{
                        //没有选中 checkbox
                    }alert("成功");
                }
            </script>
            <script>
                //获取时间  是否成功
                function getValue(){
                    var tname = document.getElementById('tname').value;
                    if(tname != ""){
                        if(cheValue(tname) == true){
                            return true;
                        }else{
                            alert("时间验证失败");
                            return false;
                        }
                    }else{
                        alert("请输入时间");
                        return false;
                    }
                }
            </script>
            <script>
                //验证时间  是否成功
                function cheValue(tname){
    alert(tname);
                    var partten = /^(([01][0-9])|(2[0-3]))(:[0-5]?[0-9]){1,2}$/;
                    if(partten.test(tname)){
                        return true;
                    }else{
                        alert("时间格式不正确");
                        return false;
                    }
                }
            </script>
        </head>
        <body>
            <select name="sel" onchange = "onchang();">
                <option value="1">1</option><option value="2">2</option><option vlaue="3">3</option>
            </select>
            <br>
            <br>
            <input type="checkbox" id="ckbox" name="ckbox"/>&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" id="tname" name="tname" value=""/>
        </body>
    </html>
      

  4.   

    那你现在的程序有啥问题吗?你只是返回了验证的结果而已
    因为你想在onchang()中得到正确的返回值,所以你在getValue()中应该在验证正确的情况下return tname,
    这样的话,在onchang()中不就得到输入框中正确的时间值了吗