Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Knx

[Resolvido] Limitar um campo text cujo recebe um valor

Recommended Posts

Bom galera, quero limitar um campo text, cujo o value que ele recebe é direto do JS:

Estou usando o maxlength mas não adianta.

 

			  $('#long').val((c.x+0.127555);
			  $('#lat').val((c.y+(0.104);

O formulário HTML está assim:

 

              <input type="text" id="long" name="long" value="-83.0" maxlength="5" size="5" />
              <input type="text" id="lat" name="lat" value="25.0" maxlength="5" size="5" />

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o javascript passa direto pelo html, pois escreve diretamente no atributo.

 

você precisa limitar antes de jogar o valor no campo, do lado do js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifica se o seu número(ou string), contem mais de 5 caracteres (propriedade.length), se tiver, você "corta" ele.

 

ou arredonda.. depende doq você precisa fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou colocando isso antes da function de mandar o value, mas não está dando.

 

if(document.getElementById(long).value.length >= 5)
{
document.getElementById(long).value = document.getElementById(long).value.substring(0, 5);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aperte Cttrl+Shift+J para ver os erros no console.

 

não use nomes de variaveis q podem ser reservadas, como "long"

leitura:

http://wbruno.com.br/blog/2011/03/31/como-debugar-javascript-firefox-erros-comuns/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Creio que isso possa lhe ajudar.

 

Plugin jQuery - Contador/Limitador de Caracteres

Amigo, ainda não deu certo, pois ele só limita o campo quando está selecionado o campo 'text'.

Diferente do meu caso que quando eu seleciono uma área em um mapa, ele automaticamente já passa as coordenadas aos campos input='text'..

 

Obrigado desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Olha, acho q isso pode te ajudar.

 

JavaScript ( jQuery )

<script type="text/javascript">

$(document).ready(function(){

var limite = 5;

var valorLong = $("#long").val();

var novoValorLong = "12345";

var contaNovoValorLong = novoValorLong.length;

if(contaNovoValorLong <= limite){
	$("#long").val(novoValorLong);
} 
else {
	$("#long").val(valorLong);
}

});

</script>

 

XHTML

 

<form>

   <label>LONGITUDE:</label>
<input type="text" id="long" name="long" value="-83.0" maxlength="5" size="5" />

   <label>LATITUDE:</label>
   <input type="text" id="lat" name="lat" value="25.0" maxlength="5" size="5" />

</form>

 

Para o lat e só seguir a mesma linha de raciocinio.

 

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Angelo, obrigado pela ajuda, mas mesmo assim não funcionou ;/

Ele só reconhece o script quando clico na caixa de text.

Mas não quero que isso seja necessário..

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, fiz um exemplo rápido aqui:

 

<html>
<head>
<script>
function id( el ){
return document.getElementById( el );
}
window.onload = function(){
id('preencher').onclick = function(){
	var lg = 0.127555+0.1275555;
	lg = ''+lg;

	id('long').value = lg.substring( 0, 5 );
}

}
</script>
</head>
<body>

<input type="text" name="long" id="long" maxlength="5" />
<input type="button" name="preencher" id="preencher" value="preencher" />

</body>
</html>

 

ou seja, você vai limitar o valor antes de entregar ele ao value.

Nesse instante aqui:

var lg = c.x+0.127555;
lg = ''+lg;//forçando string

$('#long').val( lg.substring( 0, 5 ) );

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá pessoal , testei esse codigo do willian e rodou aqui perfeitamente... fiz algumas alteraçoes aqui para se enquadrar no meu projeto (teclado virtual) só que preciso de algumas mudanças devido a algumas necessidades . Trata-se de um teclado com input buttons numericos( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9","10" ) e com limitaçao de 3 caracteres no input text.. ou seja: o usuario irá digitar " 0,5" ou "10," ou "5,3" e assim por diante. Tentei anteriormente usar maxlength e nao adiantou. Trata-se de um teclado virtual para o usuario lançar notas de 0 a 10 incuindo decimais. Alguem pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.