397 messaggi dal 10 ottobre 2002
Ciao a tutti,
Ho la necessità di testare se un determinato oggetto, nel mio caso una text
ha il fuoco, il metodo Fucus(), imposto il fuoco, ma come faccio a sapere se l'oggeto ha il fuoco ?

grazie in anticipo !
2.410 messaggi dal 13 febbraio 2003
Contributi
Ciao a tutti,
Ho la necessità di testare se un determinato oggetto, nel mio caso una text
ha il fuoco, il metodo Fucus(), imposto il fuoco, ma come faccio a sapere
se l'oggeto ha il fuoco ?

puoi usare il riferimento this per l'oggetto selezionato e quindi alert(this.name);
397 messaggi dal 10 ottobre 2002
Ciao, scusa, ma mi sa che mi sono spiegato male,
quello che vorrei fare è qualcosa del tipo :


function poponload()
{     
    var mycontrol = document.getElementById('<%=mytxt.ClientID%>');
    // verifico se l'oggetto ha il fuoco
    if (mycontrol.focus() == true)
    {

    }
}



Ma la funzione if (mycontrol.focus() == true)
non controlla se l'oggetto mycontrol ha il focus, anzi lo imposta :-(
come faccio a controllare invece se ha il fuoco ?
grazie in anticipo
Massimo
2.410 messaggi dal 13 febbraio 2003
Contributi
Ciao, scusa, ma mi sa che mi sono spiegato male,
quello che vorrei fare è qualcosa del tipo :
function poponload()
{
var mycontrol = document.getElementById('<%=mytxt.ClientID%>'); // verifico se l'oggetto ha il fuoco
if (mycontrol.focus() == true)
{
}
}
Ma la funzione if (mycontrol.focus() == true)
non controlla se l'oggetto mycontrol ha il focus, anzi lo imposta :-( come faccio a controllare invece se ha il fuoco ?
grazie in anticipo
Massimo

come prima l'oggetto attuale viene definito da this pertanto ti basta this.name per sapere il nome del controllo selezionato.
43 messaggi dal 24 ottobre 2006
this è riferito all'oggetto che ha chiamato la funzione, non a quello selezionato (se fai onmouseout="effe();" e chiami this dentro effe() this è l'elemento su cui hai chiamato onmouseout non l'elemento della pagina col focus).


Cmq come soluzione potresti usare gli eventHandler onfocus e onblur della txtBox per settare il valore di una variabile isFocusOn su true/false.
(stai attento che la txtBox non venga già caricata col focus attivo, per evitarlo potresti assegnare il focus ad ogni caricamento della pagina sun un altro elemento).

Come altra soluzione, anche se credo sia molto più brutta, mi sembra che almeno per IE esista una funzione che ti dia l'elemento selezionato (il nome ha select dentro ma non mi ricordo altro, nn avendola mai usata)

ciaoz
397 messaggi dal 10 ottobre 2002
Ti ringrazio per la precisazione ithost!!

 Avevo già notato che this, nn era l'approcio corretto per la mia problematica

Ciao!!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.