읽기 전용 및 비활성화는 사용자가 양식 필드의 내용을 변경하는 것을 방지할 수 있습니다. 그러나 둘 사이에는 약간의 차이가 있으며 다음과 같이 요약됩니다.
읽기 전용은 입력(텍스트/비밀번호) 및 텍스트 영역에만 유효하고 비활성화는 모든 양식 요소에 유효하지만 양식 요소가 비활성화된 후에는 비활성화됩니다. , POST 또는 GET을 통해 양식을 제출하면 이 요소의 값이 전달되지 않지만 readonly는 값을 전달합니다(readonly는 값 변경을 허용하고 반환할 수 있으며, 비활성화는 변경을 허용하지만 데이터를 반환하지 않음).
일반적으로 일반적인 상황은 다음과 같습니다.
고유 식별 코드는 사용자를 위해 양식에 미리 입력되어 있으며 사용자는 이를 변경할 수 없지만 다음과 같은 경우 값을 전달해야 합니다. 제출 중입니다. 해당 속성은 읽기 전용으로 설정되어야 합니다.
사용자가 양식을 정식으로 제출하고 관리자의 정보 확인을 기다려야 하는 경우, 사용자는 양식의 데이터를 변경할 수 없고 볼 수만 있는 경우가 많습니다. 비활성화된 요소가 많으므로 이때는 비활성화를 사용해야 하지만 동시에 사용자가 이 버튼을 누르는 한 제출 버튼도 비활성화되어야 한다는 점에 유의해야 합니다. 데이터베이스 작업 페이지에서 무결성 검사를 수행하지 않으면 데이터베이스의 값이 지워집니다. 이 경우 비활성화되지 않고 읽기 전용을 사용하는 경우 양식에 입력(텍스트/비밀번호) 및 텍스트 영역 요소만 있으면 여전히 가능합니다. 선택과 같은 다른 요소가 있는 경우 사용자는 값을 다시 쓰고 키를 누를 수 있습니다. 제출하려면 Enter 키를 누르십시오. (Enter는 기본 제출 트리거 키입니다.)
사용자가 제출 버튼을 누른 후 제출 버튼을 비활성화하기 위해 JavaScript를 사용하는 경우가 많습니다. 네트워크 상태가 좋지 않은 환경에서 사용자가 제출 버튼을 반복적으로 클릭하면 데이터가 데이터베이스에 중복 저장됩니다.
disable과 readonly의 두 속성에는 공통점이 있습니다. 예를 들어 둘 다 true로 설정되면 실제로 js 코드를 작성할 때 이 두 속성을 혼합하기 쉬운 경우가 있습니다. ,그들 사이에는 일정한 차이점이 있습니다:
입력 항목의 비활성화가 true로 설정되면 양식 입력 항목이 포커스를 얻을 수 없으며 모든 사용자 작업(마우스 클릭 및 키보드 입력 등)이 수행됩니다. 입력 항목에 영향을 미칩니다. 가장 중요한 점은 양식을 제출할 때 이 양식 입력이 제출되지 않는다는 것입니다.
읽기 전용은 텍스트를 입력할 수 있는 텍스트 입력 상자와 같은 입력 항목에만 해당됩니다. true로 설정하면 사용자는 해당 텍스트를 편집할 수는 없지만 여전히 집중할 수 있으며 양식을 제출할 때 입력 항목이 사용됩니다. 양식 제출로.