2008-09-22 21 views

Respuesta

127

Hay 2 soluciones principales:

El HTML puro uno:

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

La JavaScript uno (adjuntarlo 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 no hay una buena solución. No puede adaptarse a la mala implementación HTML de cada cliente, es una lucha imposible de ganar. Es por eso que es mucho mejor comprobarlo en el lado del servidor, con un script PHP/Python/lo que sea.

+25

Verifique en el servidor como un control de cordura final, pero agregue mejoras al lado del cliente si puede hacerlo; hace una experiencia de usuario más rica. – Rob

+1

Claro, más trabajo, pero definitivamente la mejor manera de hacerlo. –

41

hay un maxlength atribuyen

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

Esto es cierto, pero algunos clientes no la marca. Esto es especialmente cierto para los clientes basados ​​en teléfonos móviles. – Drejc

+0

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

+0

Con Chrome y su kit de desarrollador (que viene con el navegador) es simple eliminar tales cosas en el html – AntonioCS

5

utilizar el atributo "maxlength", como otros han dicho.

si necesita poner una longitud máxima de caracteres en un AREA de texto, debe activar Javascript. Eche un vistazo aquí: How to impose maxlength on textArea in HTML using JavaScript

+0

el enlace no funciona ... – TlonXP

+0

revise este enlace en StackOverflow: http://stackoverflow.com/questions/1125482/how-to-imponer-maxlength-on-textarea-in-html-using-javascript – TlonXP

11

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 compruebe nada (si no es tan importante que las personas puedan sortearlo, entonces no es lo suficientemente importante como para garantizar realmente ningún paso para evitar eso).

También, compañeros, él (o ella) dijo HTML, no XHTML. ;)

+0

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

+0

o usa firebug y elimina el atributo maxlength. – Zach

1

Para el > elemento < de entrada está el atributo maxlength:

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

(por cierto, el tipo es "texto", no "campo respectivo", como otros escriben), sin embargo, usted tiene para usar javascript con <textarea> s. De cualquier manera, la longitud debe verificarse 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') 
}) 
Cuestiones relacionadas