Closed Baldor9 closed 4 years ago
@Baldor si te entiendo bien, dices que al escribir tu un post largo, este se corta ¿no? Hace tiempo que no pongo nada, pero creo que no había nada de varias paginas...
Si no me equivoco, el texto para un post se guarda en un campo TEXT, y según leo: TEXT 65,535 bytes ~64kb quizás sea por eso, aunque 64 kb en texto dan para mucho Probablemente se pueda cambiar aun "MEDIUMTEXT" sin mucho mas problema... Lo estudiaremos @Baldor9
Yo antes de cambiar el tipo en la base de datos, sugiero poner un límite en el estilo de la caja de texto (darle maxlengh a textarea en style_all.css:6). Porque al final tienes que poner un limite de tamaño a los post, y 64k es razonable. Y cambiar del tipo TEXT a otro tipo luego va a complicar las busquedas y otras queries que funcionan contra esa columna.
Bueno es otra opción, me pensaba que se usaba algún "editor" de texto molón, si no se usan ahora se que antes han estado. En total seria máximo 64,000 caracteres.
Pero atento : http://www.w3schools.com/tags/att_textarea_maxlength.asp The maxlength attribute of the
Esa solución no va a funcionar para todos los navegadores.
Si usamos Jquery...
$('textarea').keyup(function () { var len = this.value.length; if (len >= 20) { this.value = this.value.substring(0, 20); } $('#charLeft').text(20 - len); });
Eso, por ejemplo, también se podría usar javascript, normal.
Eso suena algo mejor, según el código usamos jquery 1.7.1
theme.php:43
script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"/script
Si hace falta, se actualizaría, concreto que ese código a parte, te limpia el texto, si pegas algo superior a lo permitido, que es una ventaja frente al uso del javascript normal.
Me parece genial lo que planteais de hacer una validación inteligente en el lado del cliente usando javascript (en lugar de cambiar el css).
Por otro lado, en accion.php:1571 (al menos en el reply, pero potencialmente en todos los casos del foro) debería controlar el tamaño del campo text (que es la textarea) igual que se hace la validación de acceso, antes de tirar el insert, y rechazar la acción si el text es demasiado largo.
Pero @esanchma , juraría que con el método que he propuesto, antes de tirar el insert corta, vamos que la validación es sobre el mismo momento que se va escribiendo, juraría.
@Falcom8 Tienes razón, pero en estos casos lo suyo es poner una validación en el cliente y otra en el servidor, que siempre hay un listo con las devtools o con curl que no va a ejecutar el javascript. Acuerdate de las pujas de las subastas: el que sabia trucar su navegador tenia ventaja en las subastas. Pues igual.
Si cierto, pues si no hay problema en poner una validación en el servidor igual a la del cliente, estaría bien, ya que el jquery va controlando dinámicamente sobre el momento, interactuando con el usuario y luego la segunda validación para controlar el servidor, que esa al usuario le da igual, porque no la ve, pero a nosotros si nos importa :D
¿Toootal que se hace con esto?
El caso es bastante mas usual de lo que se piensa... cuando se llega al final de la página y se escribe un post bastante largo, lo normal seria que saltara de página, pero no, mas veces de lo que uno pueda pensar se corta y solo sale parte de lo escrito.