Saltar al contenido

¿Es posible deshabilitar el botón de borrado de entrada = tiempo?

Solución:

Solo agrega el required atributo:

<input type="date" required>

Lo probé en Chrome y funciona bien para mí.

Su solución sencilla para todos los navegadores actualizados podría ser:

input[type="time"]::-webkit-clear-button {
    display: none;
}

Si está dispuesto a especificarlo solo para Internet Explorer 10, debe diseñarlo con

::-ms-clear pseudo-elemento:

input[type="time"]::-ms-clear {
    display: none;
}

También puedes hacerlo usando width y height para todos input elementos:

input::-ms-clear {
    width: 0;
    height: 0;
}

Si desea aplicarlo solo para ingresar con tipo de texto:

input[type=text]::-ms-clear {
    display: none;
}

EDITAR 1:

Si no funciona, debe asegurarse de no haber seleccionado navegador / documento modo diferente a IE10 / Estándar en herramientas F12!

EDITAR 2:

Además, puede que encuentres interesantes otros pseudocontroles:

/* Hide the cancel button */
::-webkit-search-cancel-button { 
    -webkit-appearance: none; 
}

/* Hide the magnifying glass */
::-webkit-search-results-button {
     -webkit-appearance: none; 
}

/* Remove the rounded corners */
input[type=search] { 
    -webkit-appearance: none; 
}

TL; DR no hay una forma basada solo en HTML o CSS para tener una entrada de tiempo y eliminar el botón de borrar que funciona para todos los principales navegadores. Para resolver esto para todos los navegadores, debe usar una biblioteca JavaScript y una validación del servidor (si desea asegurarse de que un usuario está enviando datos válidos). Si no desea utilizar JS, probablemente sea mejor utilizar ambos enfoques a continuación. Consulte esta tabla para ver una comparación de compatibilidad:

+---------+-------------------------+--------------+-------------+
|         | <input required>        | CSS approach | JS approach |
+---------+-------------------------+--------------+-------------+
| Firefox | Y                       | N            | Y           |
| Chrome  | Y                       | Y            | Y           |
| Safari  | N                       | Y            | Y           |
+---------+-------------------------+--------------+-------------+

Enfoque CSS

Los pseudo elementos del prefijo (::-webkit-*, ::-ms-*, ::-moz-*) explicados por @Ilia Rostovtsev son específicos del navegador y no son estándar, a pesar de que muchos elementos específicos del navegador finalmente se han adoptado como estándares y aunque algunos de estos pseudo elementos no estándar son adoptados por la mayoría o todos los navegadores principales. En este momento, no tengo conocimiento de ningún equivalente de Firefox para el webkit y ms respuestas.

Estado: funciona en todos los navegadores excepto Firefox

required Acercarse

<input type="time" required>

Se ve bien, funciona bien en Chrome y Firefox, pero no en Safari. De hecho, Safari no tiene time o date escribe.

Estado: no funciona en Safari

Solución JS

Si desea que funcione en todos los navegadores, use una biblioteca JS como js-datepicker. Se ha probado para que funcione en todos los navegadores y restringe la entrada del usuario, sin un botón para borrar.

Nota sobre la validación del servidor

Si le importan en absoluto sus datos de back-end y cómo se almacenan (pista: debería), ¡valídelos también en el back-end! Restringir la entrada del usuario en el front-end no evitará que un usuario determinado o confundido lo estropee. La validación del servidor ayuda a evitar errores extraños o intentos de inyección de XSRF.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *