Nombre campo en curso en un evento


([N4] apinna.winmotor) #1

Muy buenas comunidad,

¿ alquien me sabría decir si es posible obtener en un manejador de evento tipo Javascript lanzado por la conexión de evento “gana foco” el nombre del campo en curso dentro de un formulario ?

¿ Y cómo sería el script ?

Saludos


([N4] arturomiranda) #2

deberia funcionar con este codigo pero marca error,

oForm = theRoot.dataView(); var ncontrols = oForm.controlCount();

for(var i=1; i < ncontrols; i++){
var ocontrol = oForm.control( i );
if(ocontrol.focus){
alert(“Tengo el focus”);
};
};

alguien que lo pueda complementar?

saludos


([N4] arturomiranda) #3

vuelvo a pegar el codigo:

oForm = theRoot.dataView();
var ncontrols = oForm.controlCount();

for(var i=1; i < ncontrols; i++){
var ocontrol = oForm.control( i );
if(ocontrol.focus){
alert(“Tengo el focus”);
};
};


([N4] arturomiranda) #4

aqui esta el codigo, talvez no esta optimizado pero ya devuelve el control con el foco, extrañamente no funciona con las señales ganafoco o pierde foco, pero podrias implementarlo de manera distinta, lo importante es resaltar la metodologia para accesar a los controles del formulario y a sus propiedad, un poco engorroza, a falta de documentacion y ejemplos, pero ahi esta y espero te sirva

oForm = theRoot.dataView().objectInfo();
var ncontrols = oForm.subObjectCount(19);

for(var i=1; i < ncontrols; i++){
var obj = oForm.subObjectInfo(19, i)

if(obj){
	var name = obj.name();  ;
	ojson = {
		id:obj.id(), 
		idref:obj.idRef()
	};
	if(theRoot.dataView().control(ojson.id) &amp;&amp; theRoot.dataView().control(ojson.id).focus ){
		alert(name + "   tengo el foco   " + JSON.stringify(ojson) );
	};
	
};

};


([N4] apinna.winmotor) #5

@arturo

muchísimas gracias, te lo has currao y por lo que veo no era nada simple.

Déjame que lo implante y te cuento pero me surge una duda según lo que me cuentas:

necesito saber cuando tengo el foco en un campo de qué campo se trata ¿cómo lo hago si me dices que el código no funciona con las señales de ganancia o pérdida de foco ?

Saludos


([N4] arturomiranda) #6

el codigo pruebalo desde un boton y veras que si te funciona, no se porque no funciona desde campos de texto…

hay que seguir investigando…

saludos