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)
- หากฉันคลิกที่ส่งโดยไม่ป้อนอะไรเลยสีของเส้นขอบจะเปลี่ยนเป็นสีแดง (ผ่านจาวาสคริปต์)
- แต่เมื่อฉันนำโฟกัสไปที่ช่องข้อความอีกครั้งสีของเส้นขอบสีแดงจะไม่หายไปแทนที่จะเป็นเส้นขอบทั้งสีเขียวและสีแดง
ฉันต้องการให้เป็นสีเขียวเท่านั้น คุณสามารถอธิบายเหตุผลของพฤติกรรมนี้ได้ไหม