Examples are copy / pasted from here.
First example with JS.
HTML:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="/index.css"/> <script type="text/javascript" src="/jquery-2.1.1.js"></script> <script type="text/javascript" src="/index.js"></script> </head> <body> Enter something: <input class="clearable" type="text" name="" value="" placeholder="" /> <body> </html>
CSS:
.clearable{
background: #fff url(icoX.gif) no-repeat right -10px center;
border: 1px solid #999;
padding: 3px 18px 3px 4px; /* Use the same right padding (18) in jQ! */
border-radius: 3px;
transition: background 0.4s;
}
.clearable.x { background-position: right 5px center; } /* (jQ) Show icon */
.clearable.onX{ cursor: pointer; } /* (jQ) hover cursor style */
JS:
function tog(v){
return v?'addClass':'removeClass';
}
$(document).on('input', '.clearable', function() {
$(this)[tog(this.value)]('x');
}).on('mousemove', '.x', function(e) {
$(this)[tog(this.offsetWidth-18 < e.clientX-this.getBoundingClientRect().left)]('onX');
}).on('click', '.onX', function(){
$(this).removeClass('x onX').val('').change();
});
Example you can download from here.
---
Another example, pure CSS, no JS needed.
HTML:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="/index.css"></link> </head> <h1> Textbox with a clear button completely in CSS <br> <span class="redfamily">< 0 lines of JavaScript ></span> </h1> <div class="search-wrapper"> <form> <input type="text" name="focus" required class="search-box" placeholder="Enter search term" /> <button class="close-icon" type="reset"></button> </form> </div> </html>
Here notice line:
<button class="close-icon" type="reset"></button>
CSS:
.search-box,.close-icon,.search-wrapper {
position: relative;
padding: 10px;
}
.close-icon {
border:1px solid transparent;
background-color: transparent;
display: inline-block;
vertical-align: middle;
outline: 0;
cursor: pointer;
}
.close-icon:after {
content: "X";
display: block;
width: 15px;
height: 15px;
position: absolute;
background-color: #FA9595;
z-index:1;
right: 35px;
top: 0;
bottom: 0;
margin: auto;
padding: 2px;
border-radius: 50%;
text-align: center;
color: white;
font-weight: normal;
font-size: 12px;
box-shadow: 0 0 2px #E50F0F;
cursor: pointer;
}
.search-box:not(:valid) ~ .close-icon {
display: none;
}
Example you can download from here.
---
HTML5 approach
HTML:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="/index.css"> </head> <body> Normal search: <input type="search"> <p/> Search with mask: <input type="search" isPassword="true"> </body> </html>
CSS:
input[isPassword="true"] {
-webkit-text-security: disc;
}
Notice that input type is "search".
Example you can download from here.