2012-12-23 1 views
1

텍스트 영역과 선택 옵션을 선택하지 않으면 제출 버튼을 비활성화하려는 양식으로 작업하고 있습니다.양식 제출 버튼을 활성화/비활성화 할 수 없음

텍스트 영역 확인이 제대로 작동하며 선택 문제가 있습니다. 것은 select가 값을 select에 전달하는 Custom drowpdown에서 select가 값을 가져 와서 select가 값을 가지므로 스크립트가 그것을 가져 가지 않으므로 문제라고 생각합니다.

스크립트는 다음 경우에 작동합니다. a) 먼저 선택 옵션을 선택한 다음 텍스트 영역에 입력하십시오. b) 텍스트 영역에 입력 한 다음 옵션을 선택한 다음 텍스트 영역에 다시 입력하십시오. 대한

스크립트 인 에이블/해제 버튼은이

$(function() { 
     $("#result, #content-text-ta").bind("keyup change", 
    function() {  
     if ($("#content-text-ta").val() != "" && $("#result").val() != "") 
      $(this).closest("form").find(":submit").removeAttr("disabled").removeClass('disabled').addClass('enabled'); 
     else 
      $(this).closest("form").find(":submit").attr("disabled", "disabled").removeClass('enabled').addClass('disabled');  
     }); 
     }); 

선택 (ID = "catselect")

<textarea title="Post Text" name="content-text-ta" id="content-text-ta"></textarea> 
<dl id="sample" class="dropdown"> 
        <dt><a href="#" ><span class="cat" tabindex="1">Elige categoria</span></a></dt> 
         <dd style="z-index: 1;"> 
          <ul> 
           <li><a href="#">Citas Famosas<span class="value">1</span></a></li> 
           <li><a href="#">Frases Bonitas<span class="value">2</span></a></li> 
          </ul> 
         </dd> 
        </dl> 
        <fieldset"> 
         <select name='categories' id='catselect' class='tdomf_categories' size='1'> 
          <option id="result"></option> 
         </select> 
        </fieldset> 

답변

0

사용하여 다음과 같은 코드 값을 pases 텍스트 영역 및 드롭 다운 :

function validateForm() { 
    if ($("#content-text-ta").val() !== "" && $("#catselect").val().length > 0) { 
     $("form").find("input[type*='submit']").removeAttr("disabled").removeClass('disabled').addClass('enabled'); 
    } else { 
     $("form").find("input[type*='submit']").attr("disabled", "disabled").removeClass('enabled').addClass('disabled'); 
    } 
} 
$(function() { 
    $("#catselect").html(""); 
    $(".dropdown dd ul li a").click(function() { 
     var text = $(this).html(); 
     $(".dropdown dt a span").html(text); 
     $(".dropdown dd ul").hide(); 
     $("#catselect").val($("#sample").find("dt a span.value").html()); 
     validateForm(); 
    }); 
    $("#catselect").append($("<option/>", { 
     value: "", 
     text: $(this).find('span').first().contents().filter(function() { 
      return this.nodeType == 3; 
     }).text() 
    })); 
    $(".dropdown dd ul li").each(function() { 
     $("#catselect").append($("<option/>", { 
      value: $(this).find(".value").text(), 
      text: $(this).find('a').first().contents().filter(function() { 
       return this.nodeType == 3; 
      }).text() 
     })); 
     $("#catselect, #content-text-ta").bind("keyup change click", validateForm); 
    });​ 

Live Demo | Source

관련 문제