Cara, faz muuuuito tempo que não apareço por aqui graças ao meu infeliz distanciamento do 'web development' =/
Mas então, estou trabalhando numa agencia de viagens e acabei por ficar responsável pela manutenção do site e estou implementando um serviço de envio de SMS pelo nosso site.
Acontece que esse serviço (entre outras restrições e características chatas) tem um limite de 147 caracteres, no entando, este limite inclui o número de destino do sms (12 caracteres: 55xx88888888) o nome da pessoa (variavel, mas com limite de 15) e a mensagem (variavel da mesma forma). Como o número do telefone de destino é fixo, contemos que a mensagem tem que ter até 135 caracteres.
Primeiro desafio: Conseguir somar a quantidade de caracteres dos dois campos do formulário. Depois de pesquisar, quebrar a cabeça e morrer tentando, cheguei ao seguinte script:
<html><head> <title>Teste</title> <script language="JavaScript"> function soma() { totalChar = ((form.nome.value.length*1) + (form.texto.value.length*1)); maximo = "135"; if (totalChar <= maximo) { form.total.value = maximo - totalChar; } else { alert("Pare por aí!"); } } </script></head><body> <form name="form"> <input name="nome" size="20" onKeyDown="soma()" onKeyUp="soma()"><br> <textarea name="texto" rows="4" cols="35" onKeyDown="soma()" onKeyUp="soma()"></textarea><br> Voce ainda pode digitar: <input name="total" value="135" size="1" readonly> caracteres.<br> </form></body></html>
Até aí tudo perfeito, porque consegui o que eu queria. Porém, entretanto, todavia, contudo, vem o meu...
Segundo desafio: Fazer com que JS trave ambos os campos ao verificar que a variavel totalChar for igual a variavel maximo. É aí que vocês, anjos e gurus do desenvolvimento web entram

Alguém pode me ajudar?
Conto com vocês!
Obrigado!
Edição feita por: KiTTo, 10/07/2009, 15:40.