Foros del Web » Programando para Internet » Javascript »

Dar formato de Telefono a campo de consulta

Estas en el tema de Dar formato de Telefono a campo de consulta en el foro de Javascript en Foros del Web. Hola. Lo que necesito es poner en formato concreto de número de telefono en una consulta que tengo generada en PHP. Los teléfonos al introducirlos ...
  #1 (permalink)  
Antiguo 21/07/2009, 09:23
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Dar formato de Telefono a campo de consulta

Hola.

Lo que necesito es poner en formato concreto de número de telefono en una consulta que tengo generada en PHP.

Los teléfonos al introducirlos en la base de datos van todos seguidos:

Teléfono: 000000000 Móvil:111111111

Lo que me gustaría hacer es que en pantalla salgan así:

Teléfono: 000 000 000 Móvil_ 111 111 111

Alguien sabe como puedo hacerlo?

Es javascript el lenguaje apropiado para lo que necesito hacer?

Muchas gracias.
  #2 (permalink)  
Antiguo 21/07/2009, 14:46
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Dar formato de Telefono a campo de consulta

Hola.

puedes probar con este bloque de codigo:

Código HTML:
<html>
	<head>
		<title>Titulo</title>
	</head>
	<body>
		<script>
			function formatear(){
				var num_sf=document.getElementById('tel').value;
				var num_cf='';
				num_cf=num_sf.substring(0,3)+"-";
				num_cf+=num_sf.substring(3,6)+"-";
				num_cf+=num_sf.substring(6,9);
				document.getElementById('format').value=num_cf;
			}
		</script>
		<form>
			Telefono: <input type='text' id='tel'>
			<input type='button' value='Formatear' onclick='formatear();'>
			Formateado: <input tipe='text' id='format' readonly='true'>
		</form>
<b>Nota solo funciona cuando el numero consta de 9 digitos.</b>
	</body>
</html> 
para algo mas generico tendrias que verificar la longitud de la cadena y la cantidad de digitos que irian en cada bloque.

suerte y cualquier cosa por aqui estamos.
  #3 (permalink)  
Antiguo 21/07/2009, 17:57
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Dar formato de Telefono a campo de consulta

Hola buenas.

Gracias por la respuesta.

Creo que no me explicado bien anteriormente, a lo que quiero dar formato es a dos campos de una consulta.

Código PHP:
    <TD width=100 aling=left valign=middle bgcolor=".$bgcolor.">$movil</TD>
    <
TD width=150 aling=left valign=middle bgcolor=".$bgcolor.">$email</TD
Cuando entro en la página, automáticamente se carga la consulta y me salen los datos en pantalla.

Me podria decir como puedo hacerlo?

Se que para el tema de los numeros es el siguiente codigo no se si tendre que hacer algo parecido.

Código PHP:
print("<TD width=75 align=right bgcolor=".$bgcolor.">".number_format(mysql_result($result,$i,"precioventa"),0,",",".")."</TD>");
print(
"<TD width=75 align=right bgcolor=".$bgcolor.">".number_format(mysql_result($result,$i,"preciorenta"),0,",",".")."</TD>"); 
Muchas gracias.
  #4 (permalink)  
Antiguo 22/07/2009, 09:12
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Dar formato de Telefono a campo de consulta

bueno, es que no entiendo muy bien a lo que te refieres con formato, puedes ser un poco mas explisito con lo que necesitas??

pero si es encuanto a los colores y forma de la letra entre otros lo que puedes utilizar son estilos (CSS)
  #5 (permalink)  
Antiguo 22/07/2009, 09:44
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Dar formato de Telefono a campo de consulta

Hola.

Lo que pretendo es que despues de haber hecho una consulta, en pantalla los datos que me muestra son múmeros seguidos 111111111 y yo lo que quiero es que me aparezcan algo más legibles 111-111-111

Gracias
  #6 (permalink)  
Antiguo 23/07/2009, 10:01
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Dar formato de Telefono a campo de consulta

pues el codigo que te pase hace exactamente eso copialo y crea un nuevo archivo html para que lo pruebes, nadamas llena el primer campo, le das click al boton y lo pasara al segundo ya formateado asi como tu dices, ya de ahi en adelante es cuestion de que lo adaptes a lo que realmente necesitas, como podria ser que en lugar de mandarlo a otro campo lo haga en el mismo, simplemente lo almacene en una variable o algo de ese tipo.

pruebalo y suerte, cualquier cosa aqui estamos para ayudar.

quisas el problema que creo tienes es que no sabes como hacerle para que lo haga de manera automatica despues de que la pagina se cargue, si es asi puedes usarlo de esta manera
Código HTML:
<html>
	<head>
		<title>Titulo</title>
	</head>
	<body>
		<script>
			function formatear(){
				var num_sf=document.getElementById('tel').value;
				var num_cf='';
				num_cf=num_sf.substring(0,3)+"-";
				num_cf+=num_sf.substring(3,6)+"-";
				num_cf+=num_sf.substring(6,9);
				document.getElementById('tel').value=num_cf;
			}
		</script>
		<form>
			Telefono: <input type='text' id='tel' value='123456789'>
		</form>
<b>Nota solo funciona cuando el numero consta de 9 digitos.</b>
		<script>
			setTimeout("formatear()",100);
		</script>
	</body>
</html> 

Última edición por lair; 23/07/2009 a las 10:06
  #7 (permalink)  
Antiguo 24/07/2009, 02:38
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Dar formato de Telefono a campo de consulta

Hola buenos dias.

Muchas gracias.

Ya he probado en una página nueva como me ha comentado y he visto como funciona, pero a la hora de pasar el código de mi página no termina de funcionar como me gustaria.

Al tener puesto el value='123456789' en el input type='text' el valor que me muestra en pantalla es 123-456-789 que es lo que yo queria, pero si que me gustaría que los datos que me muestre son los que yo tengo en mi base de datos.

Si elimino el Value solo me muestra en ese campo un guión ' - ' Alguna solución.

Muchas gracias.
  #8 (permalink)  
Antiguo 24/07/2009, 03:44
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Dar formato de Telefono a campo de consulta

Hola buenos dias ya he solucionado el fallo en el Inpun no le tenía el ID igual que el script por eso no me cargaba los datos con el formato adecuado.

Ahora el problema que tengo es en una consulta en php me pasa exactamente lo mismo sabeis como solucionarlo.

Pongo mil codigo.

Código PHP:

    
<TD width=100 aling=left valign=middle bgcolor=".$bgcolor.">$telefono</TD>
    <
TD width=100 aling=left valign=middle bgcolor=".$bgcolor.">$movil</TD

Muchisimas gracias.
  #9 (permalink)  
Antiguo 24/07/2009, 09:28
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Dar formato de Telefono a campo de consulta

lo que tienes que hacer es cambiar el value que yo puse (123456789), por la variable que tra la informacino que tienes en tu base de datos

Código PHP:
echo("<input type='text' id='tel' value='".$registros['telefono']."'>"); 
no se como se llama tu variable ni tu campo, pero algo asi deberia de ser, si pegas algo de tu codigo te podria ayudar mejor
  #10 (permalink)  
Antiguo 29/07/2009, 11:20
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Dar formato de Telefono a campo de consulta

Hola buenas tardes.

Muchas gracias por la información.

Por el momento funciona a medias.

El problema que estoy teniendo es que al dar de alta un cliente me lo hace bien

Si entro en la ficha y modifico el telefono me lo hace bien

Pero cuando vuelvo a entrar en una ficha que anteriormente había modificado me cambia el formato y me graba mal los datos en la base de datos.

Expongo a continuación como tengo estructurada la página a ver si alguien me puede decir donde tengo el fallo.

Alta.php doy de alta los clientes con su telefono y movil. La manera de introducir los datos en el campo texto son todo seguidos sin espacio. 123456789

Modif.php Es la página que me muestra un listado con los datos de los clientes y el formato que me muestra en pantalla es el que tengo en la base de datos. 123456789

Modif2.php Es la página en la que muestro los datos a modificar y los datos me los muestra ya con su formato 123-456-789

Modif3.php Es la página que me modifica los datos que he cambiado.

Ahora el fallo es que cuando entro en modif2.php por segunda vez me da otra vez forma al número de teléfono 123--45-6-7

Por lo que veo lo que me hace es añadir el guión una vez más cada tres caracteres.

Espero la ayuda de alguna alma caritativa.
  #11 (permalink)  
Antiguo 29/07/2009, 12:01
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Dar formato de Telefono a campo de consulta

claro que si va hacer eso por que cuando extraes los datos de la base de datos estan sin formato 123456789, al presentarlos en el formulario se les aplica un formato 123-456-789 y cuando los almacenas en la base de datos se almacenan con esa estructura, lo que tendrias que hacer es un algoritmo en reversa al que te pase para que ahora elimine los ( - ) y regrese al formato que se requieren en la base de datos, este algoritmo lo aplicarias antes de que los datos modificados sean almacenados nuevamente en la base de datos.

con el ejemplo que te pase para formatearlos creo que puedes realizar el proceso en reversa, si gustas te explico el codigo que yo hice (que real mente no es complejo) para que asi puedas quitarle el formato que le damos para visualizar, lo que realmente pretendo es que tu tambien participes en el desarrollo de esto y no nadamas estar a la espectativa y ver quien nos proporciona el codigo que necesitemos. Como te digo yo te puedo ayudar, pero ahora es tu turno de meterle mano al codigo y hecharlo andar exactamente como lo necesitas.

cualquier duda recuerda que aqui estamos

agrego mi correo para no hacer muy extenso el post, cualquier duda ahi te puedo ayudar
[email protected]
ya la solucion a la que lleguemos la posteamos aqui para si es posible alguien mas la utilice
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:19.