JavaScript onfocus Attribute
In the first example here, I am using an inline method with the onfocus attribute to clear a textbox.
<body>
<input type='text' id='name' value = 'Hello'
onfocus = 'this.value = ""' />
</body>
The keyword this represents the input field itself (the textbox). You simply have to assign nothing as value.
onfocus = 'this.value = ""'
In most cases, you might have to check a condition before clearing the value in the field. In that case, add a if condition like this.
<body>
<input type='text' id='name' value = 'Morning'
onfocus = 'if (this.value == "Morning") this.value = ""' />
</body>
If the inline method does not suit your requirement, then you can call a function to clear the input field. For example,
<body>
<input type='text' id='name' value = 'Enter your name' onfocus = 'clearField (this)' />
</body>
<script>
function clearField(ele) {
ele.value = '';
}
</script>
Clear fields on focus using jQuery .focus() Method
Alternatively, you can use the jQuery .focus() method to clear an input field, if in your application you are using jQuery.
<!DOCTYPE html> <html> <head> <title>Clear textbox on focus using jQuery</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> <p>Setting focus on the textbox will clear the value.</p> <input type='text' id='name' value = 'Enter your name' /> </body> <script> $(document).ready(function () { $('#name').focus(function () { $(this).val(''); }); }); </script> </html>
There are different ways to do this. I would recommend using JavaScript methods, wherever possible. Its simple and lightweight.