Foros del Web » Programando para Internet » Javascript »

onfocus, o algo parecido

Estas en el tema de onfocus, o algo parecido en el foro de Javascript en Foros del Web. Estoy armando un char en asp, el cual funciona casi bien (si no fuece por el casi). Para que se ingresen los tengo un input ...
  #1 (permalink)  
Antiguo 12/05/2004, 16:31
 
Fecha de Ingreso: abril-2004
Mensajes: 29
Antigüedad: 20 años
Puntos: 0
onfocus, o algo parecido

Estoy armando un char en asp, el cual funciona casi bien (si no fuece por el casi).
Para que se ingresen los tengo un input text el cual tiene una rutina en javascript que al precionar enter envía el mensaje y se resetea para poder ingresar otro.

sería así

function handle(form){
var text = form.visMsg.value
if(text == "") return false;
form.Msg.value = text;
form.visMsg.value="";
form.visMsg.focus();
return true;
}


ademas otra funcion que agrega emoticonos (un texto que luego en asp cambio por la imagen)

function emo(form){
document.getElementById('vismsg').value= document.getElementById('vismsg').value + '[emo1]' }


hasta aquí todo bien, pero cuando se hace click sobre el emoticono, este inserta bien el texto pero se pierde el foco (creo que se llama así cuando el objeto pierde la seleccion, sino que alguien me corrija) y si quiero seguir introduciendo texto despues del emoticono tengo que clikear nuevamente sobre el input, lo que lo hace bastante engorroso.

ingrese al foro de javascript porque supongo que la solución debe venir por ese lado.

saludos
  #2 (permalink)  
Antiguo 18/05/2004, 17:24
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 5 meses
Puntos: 1
¿Ya intentaste pasarle el foco al Input después de la línea en la que agregas el emoticon?
__________________
Ariel Avelar
  #3 (permalink)  
Antiguo 19/05/2004, 00:57
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Prueba con esto, a ver...

function emo(form){
area=document.getElementById('vismsg');
area.focus();
area.value= area.value + '[emo1]';
}
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 19/05/2004, 09:17
 
Fecha de Ingreso: abril-2004
Mensajes: 29
Antigüedad: 20 años
Puntos: 0
creo que ya lo solucione

Gracias Karlankas y Avelar por el interés de solucionar mi problema.

Creo que ya lo solucione con:

function emoticons(emo){
document.form1.temp1.value = emo
txt1 = form1.temp1.createTextRange();
txt1.execCommand("cut");
document.execCommand("paste", false, null);
}



no se si está bien o no (soy principiante en javascript) pero por ahora funciona en IE6.

no se en otras versiones y/navegadores.

Con esto consigo insertar el codigo en el text area en el lugar que qiera y además que me quede el cursor titilando para poder introducir mas texto sin tener que clickear sobre el textarea nuevamente.


si pudieran probarlo a ver si funciona y además se aceptan modificaciones.

saludos y gracias.


PD: también pude lograr (creo) que seleccionando el texto dentro de un textarea se incerte el codigo ( lo uso para darle formato y /o tamaño a las fuentes) delante y atras de esa selección sin necesidad de utilizar un cuadro de diálogos y luego que incerte el codigo me siga titilando el cursor dentro del cuadro.-



PD2:

se me olvidaba aclarar que incerté un textarea adicional para poner temporalmente los datos y poder modificarlos. luego se corta y pega en el textarea definitivo.
Ademas no pude usar focus() porque sino me cambia de posición el cursor.

Última edición por dageba; 19/05/2004 a las 09:22
  #5 (permalink)  
Antiguo 19/05/2004, 16:12
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Dageba... tal vez tu solución sea demasiado complicada. Te recomiendo que pruebes la que te propuse que es compatible con todo lo habido y por haber a partir de la versión 6 de Netscape y 5 de IE.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 24/05/2004, 05:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 1
Antigüedad: 20 años, 6 meses
Puntos: 0
Todavía más fácil: no hace falta que recuperes el foco, basta con que no vaya del textarea al botón, y eso se hace en HTML!! Yo tengo esto funcionando...

<button onclick="negrita()" UNSELECTABLE="ON">n</button>

Como el botón no se puede "seleccionar" el cursor no se mueve del textarea
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 09:54.