ReadOnly 및 Disabled는 사용자가 양식 필드에서 콘텐츠를 변경하지 않을 수 있습니다. 그러나 그들 사이에는 약간의 차이가 있으며 요약은 다음과 같습니다.
Readonly는 입력 (텍스트/비밀번호) 및 Textarea에만 작동하지만 모든 양식 요소에는 유효합니다. 그러나 양식 요소가 장애인을 사용하는 경우, 포스트 또는 GET에 양식을 제출할 때이 요소의 값은 전달되지 않으며, readonly 값을 전달합니다 (값 변경을 수락하고 다시 전달 될 수 있지만 변경을 허용하지만 데이터를 반환하지는 않습니다).
일반적으로 가장 일반적으로 사용되는 상황은 다음과 같습니다.
고유 식별 코드는 사용자에게 양식으로 미리 채워졌으며 사용자는 변경을 허용하지 않지만 제출할 때는 값을 전달해야하며 해당 속성을 Readonly로 설정해야합니다.
사용자가 공식적으로 양식을 제출할 때 종종 발생하며 관리자의 정보가 확인할 때까지 기다려야합니다. 이렇게하면 사용자가 양식의 데이터를 다시 변경할 수는 없지만 볼 수 있습니다. 비활성화 된 요소의 범위가 크기 때문에 현재 비활성화 된 비활성화를 사용해야하지만 동시에 제출 버튼도 비활성화해야합니다. 그렇지 않으면, 사용자 가이 버튼을 누르는 한, 데이터베이스 작동 페이지에서 무결성 감지가 수행되지 않으면 데이터베이스의 값이 지워집니다. 이 경우 비활성화 대신 readonly를 사용하는 경우 양식에 입력 (텍스트/비밀번호) 및 TextArea 요소 만있는 경우에도 여전히 가능합니다. Select와 같은 다른 전송 요소가있는 경우 사용자는 Enter 키를 눌러 값을 다시 작성한 후 제출할 수 있습니다 (Enter는 기본값 제출 트리거 키).
사용자가 제출 버튼을 누른 후 JavaScript를 사용하여 제출 버튼을 비활성화합니다. 이렇게하면 네트워크 조건이 좋지 않은 환경에서 사용자가 제출 버튼을 반복적으로 클릭하지 않아 데이터베이스에 데이터가 중복되게 저장됩니다.
장애가있는 두 가지 속성과 준비된 두 가지 속성에는 몇 가지 공통점이 있습니다. 예를 들어, 둘 다 True로 설정되면 양식 속성을 편집하지 않습니다. JS 코드를 작성할 때이 두 가지 속성을 혼합하기가 쉽습니다. 실제로, 그들 사이에는 특정한 차이점이 있습니다.
입력 항목의 비활성화가 True로 설정된 경우 양식 입력 항목이 초점을 맞출 수 없으며 입력 항목의 경우 모든 사용자 작업 (마우스 클릭 및 키보드 입력 등)이 유효하지 않습니다. 가장 중요한 점은 양식이 제출되면 양식 입력 항목이 제출되지 않는다는 것입니다.
Readonly는 텍스트 입력 상자와 같은 텍스트를 입력 할 수있는 입력 항목에만 해당됩니다. True로 설정되면 사용자는 해당 텍스트를 편집 할 수 없지만 여전히 초점에 초점을 맞출 수 있으며 양식을 제출할 때 입력 항목이 양식으로 제출됩니다.