TextArea - Limitador de caracteres com erro
Bom dia a todos!
Meu problema é o seguinte: Em um sistema que fiz para os docentes da nossa instituição, tem um textarea onde eles digitam o plano de aula. Ele possui um limitador de caracteres e é exibido o total de caracteres restantes abaixo desse textarea. O professor digita e grava. Caso ele precise alterar algo, o que foi digitado é retornado dentro desse textarea e ele automaticamente exibe a quantidade de caracteres restantes. Até aí, tudo bem! Mas ao clicar dentro do textarea e começar a digitar algo, aparece a informação de que restam mais caracteres a serem digitados do que o real.
Ex: Foram digitados 3969 e restam 1 caractere a ser digitado. Ao clicar dentro dele, no lugar onde aparecia esse “1”, aparece “90”. Aí o programa deixa digitar esses noventas até travar a digitação, mas ao gravar dá erro, pois ultrapassou o limite.
O que devo fazer para corrigir esse erro de aparecer mais caracteres do que o real a ser digitado?
Segue os códigos necessários:
Função:
$(function(){
$(".maxlength_ementas").keyup(function(event){
var target = $("#ccementas");
var max = target.attr('title');
var len = $(this).val().length;
var remain = max - len;
if(len > max)
{
var val = $(this).val();
$(this).val(val.substr(0, max));
remain = 0;
}
target.html(remain);
});
No select faço:
$sql="select DBMS_LOB.GETLENGTH(ementa) AS LEN_EMENTA,....."
Depois:
$cons = ociparse($ora_conn,$sql);
.....
$total_ementa=oci_result($cons,"LEN_EMENTA");
$res_ementa=3970-$total_ementa;
No formulário:
<textarea name="objetivos" id="objetivos" cols="120" rows="10" <?php echo $read;?> class="maxlength_ementas"><?php echo $ementa; ?></textarea>
<p align="right">Caracteres restantes: <span class="estilo09"><span id=" ccementas " title="3970"> <?php if ($res_ementa<0) {echo '0';}
else echo $res_ ementa; ?></span></span></p>
Se alguém puder me ajudar, agradeço!
Discussão (7)
Carregando comentários...