Límite de caracteres en HTML


Respuestas:


133

Hay 2 soluciones principales:

El HTML puro:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

El de JavaScript (adjúntelo a un evento onKey):

function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } 
}

Pero de todos modos, no hay una buena solución. No puedes adaptarte a la mala implementación de HTML de cada cliente, es una pelea imposible de ganar. Por eso es mucho mejor comprobarlo en el lado del servidor, con un script PHP / Python / lo que sea.


27
Verifique el servidor como una verificación final de cordura, pero agregue una mejora del lado del cliente si puede hacerlo; hace que la experiencia del usuario sea más rica.
Rob

43

hay un atributo maxlength

<input type="text" name="textboxname" maxlength="100" />

1
Esto es cierto, pero algunos clientes no lo comprueban. Esto es especialmente cierto para los clientes basados ​​en teléfonos móviles.
Drejc

También hay formas de eliminarlos. Por ejemplo, Firefox Web Developer Extension tiene una función Eliminar longitudes máximas.
Sam Hasler

Con Chrome y su kit de desarrollador (que viene con el navegador), es fácil eliminar esas cosas en el html
AntonioCS

12

Además de lo anterior, me gustaría señalar que la validación del lado del cliente (código HTML, javascript, etc.) nunca es suficiente. También verifique la longitud del lado del servidor, o simplemente no verifique en absoluto (si no es tan importante que las personas puedan evitarlo, entonces tampoco es lo suficientemente importante como para justificar pasos para evitarlo).

Además, compañeros, él (o ella) dijo HTML, no XHTML. ;)


estoy de acuerdo. uno puede POSTAR datos directamente en un sitio web usando alguna herramienta de scripting, por lo que en ese caso maxlength y otras validaciones del lado del navegador no son infalibles
Cruizer

o use firebug y elimine el atributo maxlength.
Zach


1

Para el elemento <input> está el atributo maxlength:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

(por cierto, el tipo es "texto", no "cuadro de texto" como otros escriben), sin embargo, debes usar javascript con <textarea> s. De cualquier forma, la longitud debe comprobarse en el servidor de todos modos.


0

puede establecer maxlength con jquery que es muy rápido

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.