Foros del Web » Creando para Internet » Flash y Actionscript »

Cursor en Area de Texto

Estas en el tema de Cursor en Area de Texto en el foro de Flash y Actionscript en Foros del Web. Saludos: Tengo un text area que los usuarios utilizan para escribir su No. de telefono, tengo un listener y una function que cuando el usuario ...
  #1 (permalink)  
Antiguo 08/05/2008, 00:10
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 11 años, 3 meses
Puntos: 3
Cursor en Area de Texto

Saludos:

Tengo un text area que los usuarios utilizan para escribir su No. de telefono, tengo un listener y una function que cuando el usuario ha escrito 3 o 7 numeros aparece un guion, de manera que el texto final seria algo como: 000-000-0000.

El problema esta en que cuando flash inserta el guion, no mueve el cursor hacia la derecha de manera que el texto queda al final: 0000000000--.

Como puedo hacer que cuando aparezca el guion tambien se mueva el cursor a la derecha?

Aqui les dejo el fragmento de codigo:
Código:
telefono_ta.addEventListener("change", printear);

function printear () {
     if ((telefono_ta.length == 3 && (! telefono_ta.indexOf("-")))
         || (telefono_ta.length == 7 && (telefono_ta.indexOf("-") == telefono_ta.lastIndexOf("-"))))
           telefono_ta.text += "-";
}
  #2 (permalink)  
Antiguo 08/05/2008, 01:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 10 años, 9 meses
Puntos: 3
Re: Cursor en Area de Texto

Tendrás que jugar con Selection.getBeginIndex() y Selection.getEndIndex().

Éstas devuelven la posicion inicial y la final del texto seleccionado, si simplemente quieres colocar el cursor, lo que tienes que hacer es que ambas tengan el mismo indice.

Para cambiar tú la selección... quizá haya también setBeginIndex, todo es probar.

Saludos.
  #3 (permalink)  
Antiguo 08/05/2008, 08:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 11 años, 3 meses
Puntos: 3
Re: Cursor en Area de Texto

Gracias c_keeper, Selection.getBeginIndex () fue casi toda la solucion, este es el codigo:

Código:
telefono_ta.addEventListener("change", printear);

function printear () {
    if ((telefono_ta.length == 3 && (! telefono_ta.indexOf("-")))
         || (telefono_ta.length == 7 && (telefono_ta.indexOf("-") == telefono_ta.lastIndexOf("-"))))
      telefono_ta.text += "-";
      Selection.setSelection(telefono_ta.length, telefono_ta.length);
}
Aunque no la use en el codigo, fue haciendole el trace a ella y buscando algo mas de la seleccion que hice eso, no se si ponerle un if antes del setSelection () para verificar que haya que hacerlo, por que no se que tantos recursos me ahorre, ya que el if tendria que llevar a cabo una operacion quiza un tanto complicada tambien (seria el getBeginIndex ()).
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 22:54.