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>
- जब मैं टेक्स्ट फ़ील्ड पर ध्यान केंद्रित करता हूं, तो पृष्ठभूमि और सीमा का रंग क्रमशः पीले और हरे रंग में बदल जाता है (सीएसएस के माध्यम से)।
- अगर मैं कुछ भी दर्ज किए बिना सबमिट पर क्लिक करता हूं, तो बॉर्डर का रंग लाल (जावास्क्रिप्ट के माध्यम से) बदल जाता है।
- लेकिन जब मैं फ़ोकस को फिर से टेक्स्ट फील्ड पर लाता हूं, तो लाल बॉर्डर का रंग नहीं जाता, इसके बजाय मुझे ग्रीन और रेड दोनों बॉर्डर मिलते हैं।
मैं चाहता हूं कि यह केवल हरा हो। क्या आप इस व्यवहार का कारण भी बता सकते हैं।