Foros del Web » Programando para Internet » Javascript »

añadir caracter dinamicamente

Estas en el tema de añadir caracter dinamicamente en el foro de Javascript en Foros del Web. Buenas, con estas funciones consigo que al escribir en un input al segundo caracter introducido añada una barra "/" como tercer caracter, pero me escribe ...
  #1 (permalink)  
Antiguo 30/01/2010, 17:24
 
Fecha de Ingreso: abril-2008
Ubicación: España
Mensajes: 58
Antigüedad: 15 años, 11 meses
Puntos: 1
añadir caracter dinamicamente

Buenas, con estas funciones consigo que al escribir en un input al segundo caracter introducido añada una barra "/" como tercer caracter, pero me escribe un cuarto caracter que es el segundo que metí, quiero que añada la barra y no escriba nada más. Este es el código:


Código:
<HTML> 
<HEAD> 
<TITLE></TITLE> 
</HEAD> 
<BODY><SCRIPT LANGUAGE="JavaScript">

function reVisar()
{ 
	if (document.form.txtc.value!=document.form.txta.value.length) 
	document.form.txtc.value=document.form.txta.value.length; 
	setTimeout("reVisar();",200);
} 

function key() 
{
	tecla=window.event.keyCode;
	if(tecla=="48"){caracter="0";}
	if(tecla=="49"){caracter="1";}
	if(tecla=="50"){caracter="2";}
	if(tecla=="51"){caracter="3";}
	if(tecla=="52"){caracter="4";}
	if(tecla=="53"){caracter="5";}
	if(tecla=="54"){caracter="6";}
	if(tecla=="55"){caracter="7";}
	if(tecla=="56"){caracter="8";}
	if(tecla=="57"){caracter="9";}

	reVisarNN4(caracter)
}


function reVisarNN4(caracter)
{
	dia=document.form.txta.value;
	if(document.form.txta.value.length==1)
	{
		dia=dia+caracter+'/';	
		document.form.txta.value=dia;
	}
} 
onload=reVisar 

</SCRIPT> 
<FORM NAME="form"> 

<TEXTAREA NAME="txta" ROWS="4" COLS="15" WRAP="physical" ONKEYPRESS="key()"></TEXTAREA> <BR> 
<INPUT TYPE="text" SIZE="5" NAME="txtc" READONLY="READONLY" DISABLED="DISABLED"> 
</FORM>

</BODY> 
</HTML>
Alguien sab como se podría hacer?

Saludos
  #2 (permalink)  
Antiguo 30/01/2010, 19:54
 
Fecha de Ingreso: abril-2008
Ubicación: España
Mensajes: 58
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: añadir caracter dinamicamente

Ya encontré solución:

Cita:
function formateafecha(fecha)
{
var long = fecha.length;
var dia;
var mes;
var ano;
if ((long>=2) && (primerslap==false))
{
dia=fecha.substr(0,2);
if ((IsNumeric(dia)==true) && (dia<=31) && (dia!="00"))
{
fecha=fecha.substr(0,2)+"/"+fecha.substr(3,7);
primerslap=true;
}
else
{
fecha=""; primerslap=false;
}
}
else
{
dia=fecha.substr(0,1);
if (IsNumeric(dia)==false)
{
fecha="";
}
if ((long<=2) && (primerslap=true))
{
fecha=fecha.substr(0,1); primerslap=false;
}
}
}


<input maxlength="10" onKeyUp = "this.value=formateafecha(this.value);" type="text">
Por si le sirviera a alguien...

Etiquetas: añadir, dinamicamente, caracteres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:00.