比如三个文本框,如果三个都为空,则按钮自动变灰,如果其中一个有值 ,则变为可操作.谢谢大虾们

解决方案 »

  1.   

    判断文本框的值是否为空  为空
    <input type="button" name="cal" onclick="test(this);" value="按钮" /></td>
    <script language="javascript">
    function(botton){
    var f = document.getElementById(textfieldID).value;
    if(f == ''){
      botton.disabled = true;
    }
    }
    </script>
      

  2.   

    <html>
    <head>
    <script type="text/javascript">
    function change() {
    var texts = document.getElementsByTagName("input");
    var length = texts.length;
    var btn = document.getElementById("btn");
    for (var i = 0; i < length; i = i + 1) {
    if (texts[i].type == "text") {
    if (texts[i].value != null && texts[i].value != "") {
    btn.disabled = false;
    return;
    }
    }
    }
    btn.disabled = true;
    }
    </script>
    </head>
    <body>
    <input type="text" onchange="change()"/>
    <input type="text" onchange="change()"/>
    <input type="text" onchange="change()"/>
    <input type="button" value="Button" id="btn" disabled="true" />
    </body>
    </html>
      

  3.   

        楼上的忽悠了一个问题,就是当文本框中输入的是 空格时,如果我们单纯地通过getElementById 或者TagName("obj")去取其值,然后通过length 来判断其是否为空是不够完善的,因为这样判断的话,会认为一个空格也是一个字符长度的
         所以我们得将其空格去掉,在计算其length值
        
               //去左空格;
            function ltrim(s){
                   return s.replace( /^\s*/, "");
            }
            //去右空格;
            function rtrim(s){
                   return s.replace( /\s*$/, "");
            }
            //左右空格;
            function trim(s){
                   return rtrim(ltrim(s));
            }