HTML DOM의 Input URL readOnly 속성은 URL 입력 필드(<input type="url">)를 사용자가 수정할 수 있는지 여부를 설정하거나 현재 상태를 반환하는 속성입니다. 이 속성을 활용하면 특정 URL 값을 읽기 전용으로 고정하여 사용자가 내용을 변경하지 못하도록 할 수 있습니다.
구문(Syntax)
readOnly 속성의 기본 문법은 다음과 같습니다.
1. 현재 값 반환하기
readOnly 속성은 불리언(Boolean) 값인 true/false를 반환합니다.
inputURLObject.readOnly
2. readOnly 값 설정하기
inputURLObject.readOnly = booleanValue
불리언 값(Boolean Values)
여기서 booleanValue에 설정할 수 있는 값은 다음과 같습니다.
| booleanValue | 설명 |
|---|---|
| True | URL 입력 필드가 읽기 전용(readOnly)으로 설정되어 수정할 수 없습니다. |
| False | URL 입력 필드가 읽기 전용이 아니며, 사용자가 자유롭게 수정할 수 있습니다. |
예제(Example)
다음은 Input URL readOnly 속성을 활용한 실제 예제입니다. 아래 코드에서는 URL 필드가 읽기 전용으로 설정되어 있으며, 버튼 클릭 시 해당 URL을 복사하는 기능을 포함하고 있습니다.
<!DOCTYPE html>
<html>
<head>
<title>Input URL readOnly</title>
<style>
form {
width:70%;
margin: 0 auto;
text-align: center;
}
* {
padding: 2px;
margin:5px;
}
input[type="button"] {
border-radius: 10px;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>URL-readOnly</legend>
<label for="URLSelect">Contact Us :
<input type="url" id="URLSelect" onclick="showErrorMsg()" value="https://www.google.com" readOnly>
</label>
<input type="button" onclick="showMessage()" value="Copy URL">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var inputURL = document.getElementById("URLSelect");
divDisplay.textContent = 'Above URL is read-only';
function showMessage() {
inputURL.select();
document.execCommand('copy');
divDisplay.textContent = 'URL Copied: '+inputURL.value;
}
function showErrorMsg(){
divDisplay.textContent +=', This cannot be edited.'
}
</script>
</body>
</html>실행 결과(Output)
위 코드를 실행하면 다음과 같은 결과를 확인할 수 있습니다.
'Copy URL' 버튼을 클릭하기 전 – 화면에는 "Above URL is read-only"라는 안내 문구가 표시됩니다.

'Contact Us' URL 필드를 클릭했을 때 – 해당 필드가 읽기 전용이므로 "This cannot be edited."라는 메시지가 추가로 표시되며, 내용을 편집할 수 없습니다.

'Copy URL' 버튼을 클릭했을 때 – URL이 선택되어 클립보드에 복사되고, "URL Copied: https://www.google.com"이라는 결과가 화면에 나타납니다.

정리
readOnly 속성은 URL 입력 필드의 값을 보호해야 하는 경우에 매우 유용합니다. 예를 들어, 관리자가 지정한 공식 URL을 사용자에게 보여주되 수정은 허용하지 않아야 하는 상황에서 활용할 수 있습니다. 또한 JavaScript를 통해 동적으로 readOnly 값을 true/false로 변경하면 상황에 따라 편집 가능 여부를 유연하게 제어할 수 있다는 점도 기억해 두시기 바랍니다.