Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/09/2013, 08:38
rbmask
 
Fecha de Ingreso: octubre-2011
Mensajes: 5
Antigüedad: 12 años, 6 meses
Puntos: 0
Insetar una frase disitnta por cada letra pulsada en un formulario

Hola, muy buenas tardes a todos;
Tengo una duda que me dura ya toda la semana, y por mucho que miro por webs de tutoriales, no hay manera de solucionarla. A ver si me podriais hechar una mano, que ya estoy desesperado. El caso es este:

Tengo un formulario con un un campo a rellenar y un parrafo donde poner una frase. Cuando al formulario le inserto un valor, en el parrafo debe poner "Te faltan 7 numeros todavía", y si le inserto un valor más, ha de poner "Te faltan 6 números más", así hasta llegar a 8.

Código HTML:
<input type="text" id="num" name="numeros" maxlength="8" size="8" onkeypress="cambiaTexto()"  onBlur="limitaForm(this.form)" />
<p id="change">M&iacute;nimo 8 d&iacute;gitos</p> 
El evento para dicha función lo ejecuto con un "onkeypress" y lo que tengo de la función (que no me acaba de quedar claro el .lenght) seria tal que así:

Código HTML:
function cambiaTexto() {
	
	var elemento = document.getElementedById("num").value.length;
	
	if (elemento == "1"){
	document.getElementById('change').innerHTML = 'Debes escribir 7 dígitos más.';
	return true;
	}
	else if (elemento == "2"){
	document.getElementById('change').innerHTML = 'Debes escribir 6 dígitos m&aacute;s.';
	return true;
	}
	else if (elemento == "3"){
	document.getElementById('change').innerHTML = 'Debes escribir 5 dígitos m&aacute;s.';
	return true;
	}
	else if (elemento == "4"){
	document.getElementById('change').innerHTML = 'Debes escribir 4 dígitos m&aacute;s.';
	return true;
	}
	else if (elemento == "5"){
	document.getElementById('change').innerHTML = 'Debes escribir 3 dígitos m&aacute;s.';
	return true;
	}
	else if (elemento == "6"){
	document.getElementById('change').innerHTML = 'Debes escribir 2 dígitos m&aacute;s.';
	return true;
	}
	else if (elemento == "7"){
	document.getElementById('change').innerHTML = 'Debes escribir 1 dígito m&aacute;s.';
	return true;
	}
	else if (elemento == "8"){
	document.getElementById('change').innerHTML = '&nbsp;';
	return true;
	}
}
A ver si me podeís ayudar, porque no hay manera de que me salga de esta manera.