@thebluefox ha resumido lo mejor de todo. De todos modos, solo está obligado a usar JavaScript para que ese botón funcione. Aquí hay un SSCCE, puedes copiarlo y pegarlo y ejecutarlo:
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>SO question 2803532</title>
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script>
            $(document).ready(function() {
                $('input.deletable').wrap('<span class="deleteicon" />').after($('<span/>').click(function() {
                    $(this).prev('input').val('').trigger('change').focus();
                }));
            });
        </script>
        <style>
            span.deleteicon {
                position: relative;
            }
            span.deleteicon span {
                position: absolute;
                display: block;
                top: 5px;
                right: 0px;
                width: 16px;
                height: 16px;
                background: url('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4') 0 -690px;
                cursor: pointer;
            }
            span.deleteicon input {
                padding-right: 16px;
                box-sizing: border-box;
            }
        </style>
    </head>
    <body>
        <input type="text" class="deletable">
    </body>
</html>
Ejemplo en vivo aquí .
Por cierto, jQuery no es necesario, simplemente separa muy bien la lógica necesaria para la mejora progresiva de la fuente, por supuesto, también puede continuar con HTML / CSS / JS simple :
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>SO question 2803532, with "plain" HTML/CSS/JS</title>
        <style>
            span.deleteicon {
                position: relative;
            }
            span.deleteicon span {
                position: absolute;
                display: block;
                top: 5px;
                right: 0px;
                width: 16px;
                height: 16px;
                background: url('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4') 0 -690px;
                cursor: pointer;
            }
            span.deleteicon input {
                padding-right: 16px;
                box-sizing: border-box;
            }
        </style>
    </head>
    <body>
        <span class="deleteicon">
            <input type="text">
            <span onclick="var input = this.previousSibling; input.value = ''; input.focus();"></span>
        </span>
    </body>
</html>
Solo termina con HTML más feo (y JS no compatible con crossbrowser;)).
Tenga en cuenta que cuando la apariencia de la interfaz de usuario no es su mayor preocupación, pero la funcionalidad lo es, simplemente use en <input type="search">lugar de <input type="text">. Mostrará el botón de borrar (específico del navegador) en navegadores compatibles con HTML5.
                 
                
                
                 
class="fa fa-remove"el lapso de interior para mostrar un bonito icono de la cruztop:el lapso secundario y estableciendodisplay: flex; align-items: center;el lapso primario.Hoy en día con HTML5, es bastante simple:
La mayoría de los navegadores modernos mostrarán automáticamente un botón transparente utilizable en el campo de forma predeterminada.
(Si usa Bootstrap, deberá agregar una anulación a su archivo CSS para que se muestre)
Los navegadores Safari / WebKit también pueden proporcionar funciones adicionales cuando se usan
type="search", comoresults=5yautosave="...", pero también anulan muchos de sus estilos (por ejemplo, altura, bordes). Para evitar esas anulaciones, mientras conserva la funcionalidad como el botón X, puede agregar esto a su CSS:Visite css-tricks.com para obtener más información sobre las funciones proporcionadas por
type="search".fuente
HTML5 introduce el tipo de entrada de 'búsqueda' que creo que hace lo que quieres.
<input type="search" />Aquí hay un ejemplo en vivo .
fuente
Consulte nuestro complemento jQuery-ClearSearch . Es un complemento de jQuery configurable: adaptarlo a sus necesidades al diseñar el campo de entrada es sencillo. Solo úsalo de la siguiente manera:
Ejemplo: http://jsfiddle.net/wldaunfr/FERw3/
fuente
Desafortunadamente, no puede ponerlo dentro del cuadro de texto, solo hacer que parezca que está dentro de él, lo que desafortunadamente significa que se necesita algo de CSS: P
La teoría es envolver la entrada en un div, quitar todos los bordes y fondos de la entrada, luego estilizar el div para que se vea como el cuadro. Luego, suelte el botón después del cuadro de entrada en el código y los trabajos son buenos.
Una vez que lo tienes para trabajar de todos modos;)
fuente
Tengo una solución creativa que creo que estás buscando
https://jsfiddle.net/qdesign/xn9eogmx/1/
fuente
Por supuesto, el mejor enfoque es utilizar el cada vez más compatible
<input type="search" />.De todos modos, para un poco de diversión de codificación, pensé que podría lograrse también usando el botón de reinicio del formulario, y este es el resultado de trabajo (vale la pena señalar que no puede vivir otras entradas, pero el campo de búsqueda con este enfoque, o el botón de reinicio se borrará) ellos también), no se necesita JavaScript:
fuente
Quizás esta solución simple pueda ayudar:
fuente
@Mahmoud Ali Kaseem
Acabo de cambiar algo de CSS para que se vea diferente y agregué focus ();
https://jsfiddle.net/xn9eogmx/81/
fuente