2016-06-03 1 views
2

JavaScript 또는 jquery 라이브러리를 인식하지 못해서 도움이 필요합니다. 프로젝트에서 사용해야합니다. 페이지가로드 될 때 비활성화 된 양식으로 확인란을 선택한 경우 사용할 수있게하려고합니다. 많이 시도했지만 해결책을 찾지 못했습니다 ..확인란을 선택한 후 양식을 활성화해야합니다 (페이지로드시 비활성화 됨).

$(document).ready(function (e) { 
    $("#form1 *").prop("disabled", "disabled"); 
}); 

체크 박스는 다음과 같습니다

<input type="checkbox" id="checkbox" name="opt[]" value="'.$points.'"> 

아이디어가 있다면 알려주세요!

원샷하지만 ..no 결과였다

document.getElementById('checkbox').onchange = function() { 
    document.getElementById('eksargirwsh').disabled = this.checked; 
}; 

형태 코드 :

<form method="post" id="eksargirwsh" action="update_points_test2.php"> 

      <div class="col-lg-4"> 
       <div class="ibox float-e-margins"> 
        <div class="ibox-title"> 
            <h5>Form1</h5> 

           </div> 
           <div class="ibox-content"> 

echo ' 

            <div> 
             <div class="feed-activity-list"><div style="border: 0.5px solid green; border-right-style:none;" class="input-group m-b"><span class="input-group-addon"> 
               <input type="checkbox" id="checkbox" name="opt[]" value="'.$points.'"></span> 
               <input type="hidden" name="opt2[]" value="'.$row_select4['id'].'"> 


              <div class="feed-element"> 
               <a href="profile.html" class="pull-left"> 
              <img alt="image" class="img-circle" src="'. $row_select4['image_url']. '"> 
               </a> 
              <div class="media-body "> 
             <div class="ibox-tools"> 
                 <span class="label label-primary">ΔΙΑΘΕΣΙΜΟ</span><br><br> 
                 <span class="label label-warning-light pull-right"><strong>' .$row_select4['points']. '</strong> Πόντοι</span> 
                </div> 
                <strong>' .$row_select4['title']. ' </strong> ' .$row_select4['description']. ' <br> 
                <small class="text-muted">Διάρκεια: <strong>' .$row_select4['start_date']. ' - ' .$row_select4['end_date']. ' </strong></small> 
                <div class="well"> 
                 ' .$row_select4['description']. ' 
                </div> 
                </div> 
               </div> 
              </div> 

             </div>' ; 

<button type="submit" id="submit" class="btn btn-w-m btn-primary">SUBMIT</button> 
          </form> 
+4

형태로 내부의 'ID = "체크 박스"'이다? – RRK

+0

지금까지 시도한 장애인 보조물을 변경하는 코드를 보여 주므로 도와 드리겠습니다. – Shrabanee

+0

예! 양식 안에 있습니다! – platanas20

답변

1

체크 박스는 체크 박스

에서이 기능을 넣어 그

$(document).ready(function() { 
     $('form :not([type=checkbox])').prop('disabled',true); 

}); 

제외하고는 사용하지 않도록 전체 페이지를 할 필요가 같은 형태로되어

$(":checkbox").click(function(){ 
    if (this.checked) { 
     $('#form :not([type=checkbox])').prop('disabled',false); 
    } 
    else{ 
    $('#form :not([type=checkbox])').prop('disabled',true); 
    } 
}) ; 
바이올린 아래에 생성 된 사용자 요구 사항에 대한

링크

JSFiddle

+0

파트 함수가 작동하지 않습니다! 체크 상자의 입력 안에'onchange = "enable_form()"'을 넣었지만 폼은 isn ' 확인란을 선택하면 활성화 됨 – platanas20

+0

$ ('form'). prop ('disabled', false); $ ("form") 대신 이것을 사용하십시오. removeAttr ("disabled"); – Tanmay

+0

and onclick onclick onclick이 onchange보다 선호되는 두 가지 이유. Internet Explorer는 확인란이 포커스 (onblur)를 잃을 때 onchange 이벤트 만 발생시킵니다. 따라서 onclick은 크로스 브라우저 솔루션에 가깝습니다. 요소가 포커스를 잃은 후에 만 ​​변경됩니다.(당신은 경고를하고 모든 변화에 초점을 잃고 있기 때문에 당신은 차이점을 보지 못할 것이다). MDC의 의사 코드는 element.onchange 구현을 설명합니다. – Tanmay

3

사용이. #checkbox이 아닌 요소를 선택한 다음 처음에는 비활성화 할 수 있습니다. 그런 다음 checkbox 변경 사항을 추가하여 선택하면 활성화됩니다. 그 다음

경우

$(document).ready(function (e) { 
    $("#form1 *:not(#checkbox)").prop("disabled", true); 
    $("#form1").addClass('disabled'); 
    $('#checkbox').change(function(){ 
    $("#form1 *:not(#checkbox)").prop("disabled", !this.checked); 
    $("#form1").toggleClass('disabled', !this.checked); 
    }) 
}); 
#form1{ 
    opacity: 1; 
} 
#form1.disabled{ 
    opacity: 0.2; 
} 
+0

양식 사용이 불가능할 때 불투명도를 적용 할 수 있습니까? – platanas20

+1

@ platanas20 해당 이벤트에서 클래스를 폼에 추가하십시오. 그런 다음 클래스에 CSS를 추가하십시오. 'form' 요소에서 작동하지 않는다면 어떤 부모의 div도 시도해 보거나 – RRK

+0

양식으로 적절한 CSS를 제공하십시오. 첫 번째 체크 박스가 항상 체크되지 않으면 문제가 발생합니다. 양식을 제출할 수 없습니다. 이 체크 박스는 체크 할 체크 박스를 선택하고 첫 번째 체크 박스를 선택할 수 없습니다. – platanas20

관련 문제