Ir para conteúdo

POWERED BY:

Arquivado

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

ReCoHa

[Resolvido] Validação de Campo de Formulário com Masked Input Plu

Recommended Posts

Boa tarde Pessoal,

 

Minha dúvida é a seguinte: É possível fazer, utilizando o Masked Input Plugin uma máscara em que o usuário quando estiver digitando inicie pela direita do campo. Veja o exemplo. Tenho um campo onde o cara irá digitar o número do contrato que pode ser de 7 ou 8 dígitos + hífen + 1 dígito.

 

Número do Contrato: XXXXXXXX-X

 

Então se ele iniciar a digitação pela direita e ir "levando" os número para a esquerda acho que atenderá a minha necessidade.

 

Aguardo, Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

com o plugin jQuery, só se você estudar bem ele, e criar a tua própria regra..

oq será mais trabalhoso do que adotar outra máscara logo.

 

 

dá uma olhada nessa, mvalor()

fiz para para digitar da direita para esquerda.

http://code.imasters.com.br/index.php?/topic/109-mascaras-enquanto-digita-er/

 

faz a tua ER.

e outro 'problema' com o masked input, que ainda não pesquisei se é possível, é que ele só aceita a quantidade exata de caracteres, ou seja, se você digitar apenas 7, e a máscara tiver 8, ele não vai aceitar os 7.. e vai apagar o campo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda William e olha só, que tem como permitir menor número de caracteres com o Masked Input Plugin eu sei que tem o problema é que se começar pela esquerda como é o normal o último dígito não vai ficar depois do hífen, olha só a regra.

 

$("#nContrato").mask("9999999?9-9");

Isso funciona para o caso de eu colocar 7 ou 8 dígitos, porém se eu digitar somente 7 o último número fica antes do hífen: 1234567-_ :(

Caso eu comece a digitar da direita aí creio eu que ficaria correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz! bem lembrado!

tinha esquecido do ?, até vi isso no manual, mas tinha esquecido. vlw ^_^

 

é, abri o arquivo do plugin aqui.

Nativamente, parece que não tem mesmo como inverter.

 

<html>
<head>
<script type="text/javascript">
/* Máscaras ER */
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}
function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}
function mcontrato(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/(\d)(\d)$/,"$1-$2");
	return v;
}
</script>
</head>
<body>
	<form action="" method="post">
		<label>Numero do Contrato: <input type="text" name="valor" onkeypress="mascara( this, mcontrato );" maxlength="9" /></label>
	</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wylliam, com esse código que você passou eu consigo iniciar a digitação pela direita ou é uma outra solução que você criou? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

já está.

 

copia, cola e testa.

a máscara já está da direita para a esquerda.

 

se você quiser alinhar o texto do input, ai é css:

<label>Numero do Contrato: <input type="text" name="contrato" style="text-align: right;" onkeypress="mascara( this, mcontrato );" maxlength="9" /></label>

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.