Quiero usar jquery para limitar el número de caracteres en un div editable (o entrada de formulario).Limite el número de caracteres en el campo de entrada
Respuesta
En cuanto a campo de entrada se puede utilizar el atributo maxlength. Si usted está buscando div, los siguientes exámenes,
$(function() {
$ ('#editable_div').keydown (function (e) {
//list of functional/control keys that you want to allow always
var keys = [8, 9, 16, 17, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 144, 145];
if($.inArray(e.keyCode, keys) == -1) {
if (checkMaxLength (this.innerHTML, 15)) {
e.preventDefault();
e.stopPropagation();
}
}
});
function checkMaxLength (text, max) {
return (text.length >= max);
}
});
<div id="editable_div" contentEditable="true" onclick="this.contentEditable='true';" >TEXT BEGIN:</div>
Edición: se debe reescribir la función checkMaxLength hacer caso omiso de las fichas y de nueva línea
Esto no tiene en cuenta las pastas que establecerán el contenido en la longitud máxima – Navarr
hacer uso de maxlength
en input
etiqueta
<input type="text" maxlength="20" />
NICE MAN. ..no estoy al tanto del funcionamiento del comando maxlength para los navegadores html 4. :) –
Si quieren hacer uso de jQuery se puede escribir algo por sí mismo o simplemente utilizar un plugin existente, como this one.
Pero estoy de acuerdo con dku.rajkumar ... ¿Qué hay de malo con el uso del atributo maxlength
?
<input type="text" maxlength="15" />
Si eres el mayor fan jQuery vez embargo y desesperadamente desea establecer un maxlength
a todos los campos de entrada a la vez hacer algo como:
$(document).ready(function() {
$('input[type="text"]').attr({ maxLength : 15 });
});
Hemos de tener en cuenta, sin embargo que este método (el de JQuery) no funcionará para personas que tienen (por alguna razón) JavaScript desactivado. Mientras que el atributo maxlength
de la etiqueta input
funciona para todos en todos los navegadores.
simplemente use el atributo llamado "maxlength". Puede leer más sobre los atributos de entrada en w3 input
Digamos que es entrada de formulario.
puedes hacerlo con el atributo 'maxlength' pero si dices 'usando jQuery',
aquí está la solución.
$('input#limited').attr('maxlength', '3');
o puede comprobar cada pulsación de tecla
$('input#limited').keypress(function() {
/*
check for 3 or greater than 3 characters.
If you check for only greater than 3, then it will let
you write the fourth character because just before writing,
it is not greater than three.
*/
if($(this).val().length >= 3) {
$(this).val($(this).val().slice(0, 3));
return false;
}
});
MaxLength atributo-navegador, para que admitan esta función.
Javascript - para los demás.
<input class="test-input" type="text" maxlength="12" />
<script>
$('.test-input').unbind('keyup change input paste').bind('keyup change input paste',function(e){
var $this = $(this);
var val = $this.val();
var valLength = val.length;
var maxCount = $this.attr('maxlength');
if(valLength>maxCount){
$this.val($this.val().substring(0,maxCount));
}
});
</script>
muy bien, excepto que usaste una "entrada" en lugar de un div contenteditable :) –
... probablemente porque no todos los navegadores admiten contenido editable ... La respuesta de Sergey es la mejor aquí :) – Rob
No debería ser '$ this.val ($ this.val(). Substring (0, maxCount-1)) ; 'para dar cuenta de la subcadena que comienza en 0? Corrígeme si estoy equivocado por favor. Y sí, este es un hilo viejo, pero todavía lo leen las personas. – redfox05
Esto debería funcionar para usted creo.
HTML
<input type="text" name="myText" id="myText" data-maxlength="10" />
jQuery
$('#myText').keyup(validateMaxLength);
function validateMaxLength()
{
var text = $(this).val();
var maxlength = $(this).data('maxlength');
if(maxlength > 0)
{
$(this).val(text.substr(0, maxlength));
}
}
¡bonito original! :) – RicardoE
- 1. Limite el número de caracteres con el filtro Plantilla Django
- 2. Limite el número de páginas en will_paginate
- 3. Limite el número de revisiones en Couchdb
- 4. Limite el número de resultados en JPQL
- 5. Restringir los caracteres de entrada en el campo de texto/campo de número utilizando la expresión regular?
- 6. Limitar el número de caracteres permitidos en el campo de introducción de texto del formulario
- 7. limite el número de objetos devueltos en un has_many
- 8. Limite el número de hilos paralelos en C#
- 9. Limite el número de oraciones en una cadena
- 10. Limite el número de resultados de Get-ChildItem
- 11. Eliminar todos los caracteres no numéricos en el campo de entrada en el evento pegar Javascript
- 12. jQuery Limite el número de solicitudes AJAX simultáneas
- 13. jquery cómo vaciar el campo de entrada
- 14. texto predeterminado en el campo de entrada
- 15. Limite el número de líneas en el cuadro de texto .net
- 16. cómo limitar el número de caracteres en un campo de área de texto que procesa php?
- 17. ¿Cómo formatear los números dinámicamente en el campo de entrada?
- 18. Limite el número de filas devueltas en el lado del servidor (límite forzado)
- 19. Limitar caracteres a letras y números en el campo de entrada
- 20. Obtener el valor de un número de entrada HTML5
- 21. campo de entrada de autocompletar con el valor de otro campo de entrada
- 22. Django - Cómo ordenar queryset por el número de caracteres en un campo
- 23. HTML5 Tipo de entrada = número elimina el cero inicial
- 24. Limite el uso de memoria de JTextPane
- 25. Cómo crear el campo de entrada de contraseña en django
- 26. Restringir el campo de entrada a dos decimales con jQuery
- 27. Powershell 3.0 - Flujos de trabajo - Limite el número de ejecución en paralelo
- 28. Validación de número en el validador de campo requerido
- 29. Desactivar un campo de entrada si el campo está vacío segunda entrada
- 30. Evitar cadenas vacías en el campo VARIACIÓN DE CARACTERES
lo que está mal con maxlength para una entrada de un formulario? – stivlo
Echa un vistazo a esta publicación http://stackoverflow.com/questions/2867479/limiting-number-of-characters-in-a-contenteditable-div – Parham
@stivlo b/c es una div editable – Firdous