function validate() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if (username == "") {
document.getElementById("message").innerHTML = "USERNAME CANNOT BE EMPTY";
document.getElementById("username").style.borderColor = "red";
return false;
}
if (password == "") {
document.getElementById("message").innerHTML = "PASSWORD CANNOT BE EMPTY";
document.getElementById("password").style.borderColor = "red";
return false;
}
}
#username:focus {
background-color: yellow;
border-color: green;
}
#password:focus {
background-color: yellow;
border-color: green;
}
#message {
color: red;
}
<form onsubmit=" return validate()">
LOGIN:-
<br>
<input id="username" type="text" name="username" placeholder="USERNAME">
<br>
<input id="password" type="password" name="password" placeholder="PASSWORD">
<br>
<input type="submit" value="SUBMIT">
<p id="message">
</form>
- 텍스트 필드에 초점을 맞추면 배경 및 테두리 색상이 각각 CSS를 통해 노란색과 녹색으로 바뀝니다.
- 아무 것도 입력하지 않고 제출을 클릭하면 테두리 색상이 (자바 스크립트를 통해) 빨간색으로 바뀝니다.
- 그러나 텍스트 필드에 다시 초점을 맞추면 빨간색 테두리 색상이 사라지지 않고 녹색과 빨간색 테두리가 모두 나타납니다.
나는 그것이 녹색이 되기만을 원합니다. 이 동작의 이유를 설명 할 수 있습니까?