복붙노트

[JQUERY] jQuery를 비활성화 / 버튼을 제출 가능

JQUERY

jQuery를 비활성화 / 버튼을 제출 가능

해결법


  1. 1.문제는 그 초점이 상기 입력 (입력 또는 탭 그것을 밖으로 떨어져 예컨대 사람 클릭)으로부터 멀리 이동되는 경우에만 상기 변경 이벤트가 발생. 대신의 keyup를 사용해보십시오 :

    문제는 그 초점이 상기 입력 (입력 또는 탭 그것을 밖으로 떨어져 예컨대 사람 클릭)으로부터 멀리 이동되는 경우에만 상기 변경 이벤트가 발생. 대신의 keyup를 사용해보십시오 :

    $(document).ready(function() {
         $(':input[type="submit"]').prop('disabled', true);
         $('input[type="text"]').keyup(function() {
            if($(this).val() != '') {
               $(':input[type="submit"]').prop('disabled', false);
            }
         });
     });
    

  2. 2.

    $(function() {
      $(":text").keypress(check_submit).each(function() {
        check_submit();
      });
    });
    
    function check_submit() {
      if ($(this).val().length == 0) {
        $(":submit").attr("disabled", true);
      } else {
        $(":submit").removeAttr("disabled");
      }
    }
    

  3. 3.이 질문은 2 세이지만 여전히 좋은 질문과 첫 번째 구글 결과였다 ...하지만 기존의 모든 답변은 설정하지 인 (removeAttr () "해제") "비활성화"는 HTML 속성을 삭제하는 것이 좋습니다 올바른 접근. 속성 대 속성에 대한 많은 혼란이있다.

    이 질문은 2 세이지만 여전히 좋은 질문과 첫 번째 구글 결과였다 ...하지만 기존의 모든 답변은 설정하지 인 (removeAttr () "해제") "비활성화"는 HTML 속성을 삭제하는 것이 좋습니다 올바른 접근. 속성 대 속성에 대한 많은 혼란이있다.

    의 "비활성" 마크 업에 의해 W3C 부울 특성이라고한다.

    인용문:

    https://stackoverflow.com/a/7572855/664132

    관련 :

    관련된:

    $( "input" ).prop( "disabled", false );
    

    내지 [...] 같은 변경 DOM의 건물 [...] 폼 요소의 비활성 상태의 .prop () 메소드를 사용한다.

    (http://api.jquery.com/attr/)

    질문의 변경 부분에 대한 해제에 관해서는 :이 "입력"이라는 이벤트이지만, 브라우저 지원이 제한되며 jQuery를가 작동하지 않습니다 그래서, JQuery와 이벤트가 아니다. 변경 이벤트가 안정적으로 작동하지만 요소가 포커스를 잃을 때 발생합니다. 하나는 결합 할 수 있도록 두 (일부 사람들은 또한의 keyup를 수신하고 붙여 넣기).

    여기에 내가 무엇을 의미하는지 보여주는 코드의 테스트되지 않은 부분입니다 :

    $(document).ready(function() {
        var $submit = $('input[type="submit"]');
        $submit.prop('disabled', true);
        $('input[type="text"]').on('input change', function() { //'input change keyup paste'
            $submit.prop('disabled', !$(this).val().length);
        });
    });
    

  4. 4.disabled 속성의 사용을 제거하려면,

    disabled 속성의 사용을 제거하려면,

     $("#elementID").removeAttr('disabled');
    

    장애인 속성 사용을 추가,

    $("#elementID").prop("disabled", true);
    

    즐겨 :)


  5. 5.여부를 같이 할 것을 우리를 위해하는 모든 작은 일에 대한 JQ를 사용합니다 :

    여부를 같이 할 것을 우리를 위해하는 모든 작은 일에 대한 JQ를 사용합니다 :

    document.getElementById("submitButtonId").disabled = true;
    

  6. 6.그런 다음 사용자가 텍스트를 입력하는 모든 텍스트를 삭제할 때 에릭, 당신의 코드는 나를 위해 작동하지 않았다. 사람이 같은 문제가 발생하면 내가 다른 버전을 만들었습니다. 나중에 사람들을 여기 요 :

    그런 다음 사용자가 텍스트를 입력하는 모든 텍스트를 삭제할 때 에릭, 당신의 코드는 나를 위해 작동하지 않았다. 사람이 같은 문제가 발생하면 내가 다른 버전을 만들었습니다. 나중에 사람들을 여기 요 :

    $('input[type="submit"]').attr('disabled','disabled');
    $('input[type="text"]').keyup(function(){
        if($('input[type="text"]').val() == ""){
            $('input[type="submit"]').attr('disabled','disabled');
        }
        else{
            $('input[type="submit"]').removeAttr('disabled');
        }
    })
    

  7. 7.그것은 다음과 같이 작동합니다 :

    그것은 다음과 같이 작동합니다 :

    $('input[type="email"]').keyup(function() {
        if ($(this).val() != '') {
            $(':button[type="submit"]').prop('disabled', false);
        } else {
            $(':button[type="submit"]').prop('disabled', true);
        }
    });
    

    있는지 확인 HTML의 '장애인'속성이있다


  8. 8.여기에 파일 입력 필드에 대한 솔루션입니다.

    여기에 파일 입력 필드에 대한 솔루션입니다.

    사용자가 업로드 할 파일을 선택 후 무력화에 파일이 선택되지 않은 파일 필드에 버튼을 제출 한 후 수 :

    $(document).ready(function(){
        $("#submitButtonId").attr("disabled", "disabled");
        $("#fileFieldId").change(function(){
            $("#submitButtonId").removeAttr("disabled");
        });
    });
    

    HTML :

    <%= form_tag your_method_path, :multipart => true do %><%= file_field_tag :file, :accept => "text/csv", :id => "fileFieldId" %><%= submit_tag "Upload", :id => "submitButtonId" %><% end %>
    

  9. 9.당신은 또한이 같은 것을 사용할 수 있습니다 :

    당신은 또한이 같은 것을 사용할 수 있습니다 :

    $(document).ready(function() {
        $('input[type="submit"]').attr('disabled', true);
        $('input[type="text"]').on('keyup',function() {
            if($(this).val() != '') {
                $('input[type="submit"]').attr('disabled' , false);
            }else{
                $('input[type="submit"]').attr('disabled' , true);
            }
        });
    });
    

    여기에 라이브 예입니다


  10. 10.양식 로그인의 경우 :

    양식 로그인의 경우 :

    <form method="post" action="/login">
        <input type="text" id="email" name="email" size="35" maxlength="40" placeholder="Email" />
        <input type="password" id="password" name="password" size="15" maxlength="20" placeholder="Password"/>
        <input type="submit" id="send" value="Send">
    </form>
    

    자바 스크립트 :

    $(document).ready(function() {    
        $('#send').prop('disabled', true);
    
        $('#email, #password').keyup(function(){
    
            if ($('#password').val() != '' && $('#email').val() != '')
            {
                $('#send').prop('disabled', false);
            }
            else
            {
                $('#send').prop('disabled', true);
            }
        });
    });
    

  11. 11.버튼 자체 인 경우 jQuery를 버튼 스타일 (.button와 ()) 올바른 클래스가 / 당신이 제거한 후에 추가 / 제거 장애인 속성을 추가되도록 버튼의 상태를 갱신해야합니다.

    버튼 자체 인 경우 jQuery를 버튼 스타일 (.button와 ()) 올바른 클래스가 / 당신이 제거한 후에 추가 / 제거 장애인 속성을 추가되도록 버튼의 상태를 갱신해야합니다.

    $( ".selector" ).button( "refresh" );
    

  12. 12.대답은 위의 이벤트를 / 붙여 넣기 메뉴를 기반으로 절단 검사도 해결되지 않습니다. 아래는 제가 두 가지를 모두 수행하는 데 사용하는 코드입니다. 변화가 발생하기 전에 잘라 과거의 사건이 실제로 발생하기 때문에 제한 시간이 그렇게 할 수있는 약간의 시간을 제공하므로 작업이 실제로 타임 아웃이 발생합니다.

    대답은 위의 이벤트를 / 붙여 넣기 메뉴를 기반으로 절단 검사도 해결되지 않습니다. 아래는 제가 두 가지를 모두 수행하는 데 사용하는 코드입니다. 변화가 발생하기 전에 잘라 과거의 사건이 실제로 발생하기 때문에 제한 시간이 그렇게 할 수있는 약간의 시간을 제공하므로 작업이 실제로 타임 아웃이 발생합니다.

    $( ".your-input-item" ).bind('keyup cut paste',function() {
        var ctl = $(this);
        setTimeout(function() {
            $('.your-submit-button').prop( 'disabled', $(ctl).val() == '');
        }, 100);
    });
    

  13. 13.바닐라 JS 솔루션. 그것은 전체의 형태뿐만 아니라 하나 개의 입력을 위해 작동합니다.

    바닐라 JS 솔루션. 그것은 전체의 형태뿐만 아니라 하나 개의 입력을 위해 작동합니다.

    질문에서 자바 스크립트 태그를 선택했습니다.

    HTML 형태 :

    VAR 형태 document.querySelector = ( '형태') VAR의 입력 form.querySelectorAll = ( '입력') VAR required_inputs form.querySelectorAll = ( '입력 [필수]) VAR 레지스터 document.querySelector = ( '입력 [타입 = "제출"]) form.addEventListener ( '의 keyup', 기능 (E) { VAR 비활성화 = 거짓 inputs.forEach (함수 (입력, 인덱스) { 경우 (input.value === ''||! input.value.replace (/ \ S / g, '') .length) { 장애인 = TRUE } }) 경우 (장애인) { register.setAttribute ( '장애인', '장애인') } 다른 { register.removeAttribute ( '장애인') } })

    < "사용자 이름"= 레이블> 사용자 이름
    < "암호"= 레이블> 비밀번호
    < "r_password"= 레이블> 재 입력 비밀번호
    < "이메일"= 레이블> 이메일 <입력 유형 = "텍스트"이름 = "이메일"/>

    일부 설명 :

    이 코드에서 우리는 HTML 양식에 이벤트의 keyup 추가하고 모든 키를 누를 때 모든 입력 필드를 확인합니다. 우리가 적어도 하나 개의 입력 필드가 비어 있거나에만 공백 문자가 포함 된 경우 우리는 장애인 변수에 진정한 가치를 할당하고 해제 버튼을 제출합니다.

    사용하지 않도록해야 할 경우 필요한 모든 입력 필드가 채워 때까지 버튼을 제출 - 교체 :

    inputs.forEach(function(input, index) {
    

    와:

    required_inputs.forEach(function(input, index) {
    

    required_inputs 이미 만 필요한 입력 필드를 포함하는 배열을 선언된다.


  14. 14.우리는 단순히 귀하의 의견은 우리가 가질 수있는 비어있는 가정 .if 경우 및 다른 수 있습니다

    우리는 단순히 귀하의 의견은 우리가 가질 수있는 비어있는 가정 .if 경우 및 다른 수 있습니다

    if($(#name).val() != '') {
       $('input[type="submit"]').attr('disabled' , false);
    }
    

    또 우리는 참으로 거짓을 변경할 수 있습니다


  15. 15.안 : $ ( '입력 [유형 = "제출"]') 소품 ( '장애인'사실을).

    안 : $ ( '입력 [유형 = "제출"]') 소품 ( '장애인'사실을).

    $ ( '입력 [유형 = "제출"]') removeAttr ( '장애인'); 사용합니다.

    위의 활성화 코드는보다 더 정확합니다 :

    $('input[type="submit"]').removeAttr('disabled');
    

    당신은 두 가지 방법을 사용할 수 있습니다.


  16. 16.나는 이것이 내 사용 사례에 맞게 만들 수있는 약간의 일을했다.

    나는 이것이 내 사용 사례에 맞게 만들 수있는 약간의 일을했다.

    나는 모든 필드를 제출하기 전에 값을 가져야 양식을 가지고있다.

    여기에 내가했던 일이야 :

      $(document).ready(function() {
           $('#form_id button[type="submit"]').prop('disabled', true);
    
           $('#form_id input, #form_id select').keyup(function() {
              var disable = false;
    
              $('#form_id input, #form_id select').each(function() {
                if($(this).val() == '') { disable = true };
              });
    
              $('#form_id button[type="submit"]').prop('disabled', disable);
           });
      });
    

    여기에 자신의 답변을 모두에게 감사합니다.


  17. 17.코드 아래 활성화하거나 전송 버튼을 사용 안 함을 참조하시기 바랍니다

    코드 아래 활성화하거나 전송 버튼을 사용 안 함을 참조하시기 바랍니다