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.

e-satis
fuente
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" />
crucero
fuente
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. ;)

Devin Jeanpierre
fuente
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.

pilsetnieks
fuente
0

puede establecer maxlength con jquery que es muy rápido

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
shekh danishuesn
fuente