programing

입력에 '읽기 전용'속성이있는 경우 감지

copysource 2021. 1. 16. 20:39
반응형

입력에 '읽기 전용'속성이있는 경우 감지


입력에 'readonly'속성이있을 때 경고를 발생시키고 싶습니다. 나는 이것을 시도했다 :

  if($('input').attr('readonly') == 'readonly'){

    alert("foo");
  }

'만약'이 최선의 방법은 아니라고 생각합니다.


가장 빠른 방법은 .is()jQuery 함수 를 사용하는 것입니다.

if ( $('input').is('[readonly]') ) { }

[readonly]선택기로 사용 하면 요소에 속성이 정의되어 있는지 확인합니다. 값을 확인하려면 대신 다음과 같이 사용할 수 있습니다.

if ( $('input').is('[readonly="somevalue"]') ) { }

JQuery 1.6부터 항상 .prop () 사용 이유를 읽으십시오 : http://api.jquery.com/prop/

if($('input').prop('readonly')){ }

.prop ()를 사용하여 속성을 설정할 수도 있습니다.

$('input').prop('readonly',true);

$('input').prop('readonly',false);

속성 선택기를 사용한 다음 길이를 테스트 할 수 있습니다.

$('input[readonly]').length == 0 // --> ok
$('input[readonly]').length > 0  // --> not ok

"readonly"속성의 현재 값을 확인하십시오. "false"(문자열)이거나 비어 있으면 (정의되지 않음 또는 "") 읽기 전용이 아닙니다.

$('input').each(function() {
    var readonly = $(this).attr("readonly");
    if(readonly && readonly.toLowerCase()!=='false') { // this is readonly
        alert('this is a read only field');
    }
});

간단한 방법을 시도해보십시오.

if($('input[readonly="readonly"]')){
   alert("foo");
}

jQuery가없는 자바 스크립트는 어떻습니까?

jQuery를 사용하거나 사용하지 않고 얻을 수있는 입력은 다음과 같습니다.

input.readOnly

참고 : 마인드 카멜 케이스


이 시도:

if($('input').attr('readonly') == undefined){
    alert("foo");
}

그것이 없으면 undefinedjs에 있을 것입니다.


바닐라 / 순수한 자바 스크립트에서 다음과 같이 확인할 수 있습니다.

var field = document.querySelector("input[name='fieldName']");
if(field.readOnly){
 alert("foo");
}

참조 URL : https://stackoverflow.com/questions/5422915/detect-when-input-has-a-readonly-attribute

반응형