Foros del Web » Programando para Internet » PHP »

trabajar con campo numerico

Estas en el tema de trabajar con campo numerico en el foro de PHP en Foros del Web. hola a todos tengo una consulta, ojala me puedan ayudar un poco resulata que necesito lo siguiente como logro que al ingresar en un campo ...
  #1 (permalink)  
Antiguo 21/04/2006, 15:39
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 6 meses
Puntos: 0
Sonrisa trabajar con campo numerico

hola a todos tengo una consulta, ojala me puedan ayudar un poco
resulata que necesito lo siguiente

como logro que al ingresar en un campo de formulario por ejemplo
123456 que instantaneamente quizas enviandolo a una funcion , me lo cambio y me lo visualice en el mismo campo (donde lo digite) 12345-6, hay alguna funcion que me permita hacer eso, colocar automaticamente una raya antes del ultimo digito... gracias por todo....
  #2 (permalink)  
Antiguo 21/04/2006, 18:55
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
funcion tal no existe, pero si puedes hacerlo, mmm como gua te puedo decir que uses strlen para obtener el largo de la palabra, le restas 1 y con substr extraes hasta el resultado de la resta, le pones el "-" y despues usas un substr pero con -1 ;) saludos...
__________________
Roberto Osses Elgueta
Senior Web Developer
  #3 (permalink)  
Antiguo 21/04/2006, 20:03
 
Fecha de Ingreso: septiembre-2002
Mensajes: 122
Antigüedad: 21 años, 7 meses
Puntos: 0
Si lo que quieres es darle un formato y que cambie instantaneamente te recomiento que uses Javascript y haga lo que dice Roko pero con las funciones correpondientes en Javascript..
  #4 (permalink)  
Antiguo 21/04/2006, 20:26
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
bueno colega, en javascript la funcion seria algo asi:



Código PHP:
function agrega_guion(texto)
{    
    var 
tmpstr "";    
    for ( 
i=0texto.length i++ )        
        if ( 
texto.charAt(i) != ' ' && texto.charAt(i) != '-' )
            
tmpstr tmpstr texto.charAt(i);    
    
texto tmpstr;    
    
largo texto.length;    


    for (
i=0largo i++ )    
    {            
        if ( 
texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9")
         {            
            
alert("El valor ingresado no corresponde a un numero valido");            
        
            return 
false;        
        }    
    }    

    var 
invertido "";    
    for ( 
i=(largo-1),j=0i>=0i--,j++ )        
        
invertido invertido texto.charAt(i);    
    var 
dtexto "";    
    
dtexto dtexto invertido.charAt(0);    
    
dtexto dtexto '-';    
    
cnt 0;    
    
invertido "";    
    for ( 
i=(dtexto.length-1),j=0i>=0i--,j++ )        
        
invertido invertido dtexto.charAt(i);    

    
window.document.form1.campo.value invertido.toUpperCase()        
    return 
true;    

a y recuerda el: window.document.form1.campo.
debes tener un formaulario llamado form1 con el textbox "campo", eso es una buena referencia :D ssaludos.

PD: La autoria del codigo anterior no es 100% mia, solo hize las modificaciones necesarias para que evluara el tema del "-", el codigo completo es de un validador de RUT, dictado por Juan Pablo Aqueveque
__________________
Roberto Osses Elgueta
Senior Web Developer
  #5 (permalink)  
Antiguo 25/04/2006, 11:07
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 6 meses
Puntos: 0
hola gracias por sus comentarios, trate de probar este codigo pero me salieron como mil errores, estas mesclando php con java script?
  #6 (permalink)  
Antiguo 25/04/2006, 11:11
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 6 meses
Puntos: 0
como llamo del campo del formulario a esa funcion
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 21:55.