попробуй на всю форму 
change  обработчик повесить 
щас намучу пример
Пример: На Mootools
<form id="a">
    <input><select><option></option><option>kjkj</option></select>
</form>
<button id="b" style="display:none">отправить</button>
<script src="http://yandex.st/mootools/1.3.1/mootools.min.js"></script>
<script>
var b  = $("b").style;
$("a").addEvent("change", function(){
    var ok = true;
    this.getChildren().each(
        function(a,b,c){ 
            if( a.value.length === 0 ) ok = false;
        });
    
    b.display = ok ? "block" : "none";  
})
</script>
// по изменению формы
$("a").addEvent("change", function(){
    var ok = true;
// проходимся по детям.
// если один из детей пуст - форма забракована.
    this.getChildren().each(
        function(a,b,c){ 
            if( a.value.length === 0 ) ok = false;
        });
    
    $("b").style.display = ok ? "block" : "none";  
})