Pagina 1 di 1

JAVASCRIPT e ID campo

Inviato: 21 ott 2014, 20:41
da Lorenzo
Ciao a tutti
Qualcuno sa come si ottiene l'ID di un campo che ha il focus con Javascript?
Vorrei attivare una funzione JS nell' evento onchange di un campo grid modificabile
per poi potergli, tramite questa, cambiare dinamicamente il colore.

grazie

Re: JAVASCRIPT e ID campo

Inviato: 22 ott 2014, 08:43
da Fabio
Ciao Lorenzo,
forse non ho capito cosa vuoi fare ma se attivi l'evento onChange su un campo il focus sarà sul campo stesso.
Non puoi avere il focus su un campo diverso da quello su cui vuoi attivare l'evento onChange.

Quindi, premesso che il campo sia lo stesso che attiva l'evento, l'id con javascript è "this.ID"

Re: JAVASCRIPT e ID campo

Inviato: 22 ott 2014, 19:45
da Lorenzo
Ciao Fabio
Scusa per non essermi spiegato meglio,
In sostanza vorrei cambiare il colore di fondo di un campo grid modificabile quando questo viene modificato.
Avevo pensato di utilizzare javascript ma devo recuperare l'id del campo modificato Per cambiargli il colore!
L'id del campo in questione però non è sempre lo stesso perchè dipende dalla posizione del campo nella grid.
Quindi in sostanza avevo pensato di utilizzare l'evento onchange del campo per passargli una funzione javascript e all'interno di questa avrei utilizzato document.getelementbyid(Id).Style.color= colore ma il problema è che non so come ottenere l'id del campo che ha lanciato la funzione che dovrebbe essere quello che ha il focus.
Grazie per l'aiuto

Re: JAVASCRIPT e ID campo

Inviato: 23 ott 2014, 14:03
da Fabio
Ciao.
Se sei sull'oggetto, come ti dicevo, non serve sapere l'id.
Basta usare "this" per identificare l'oggetto stesso e tutte le sue proprietà.

Esempio:

Codice: Seleziona tutto

<span id="3" onclick="alert(this.id)">Cliccami per sapere il mio ID</span><br/>
<span id="7" onclick="alert(this.id)">Cliccami per sapere il mio ID</span><br/>
<span id="20" onclick="alert(this.id)">Cliccami per sapere il mio ID</span><br/>

Re: JAVASCRIPT e ID campo

Inviato: 23 ott 2014, 21:31
da Lorenzo
Ciao Fabio
Purtroppo non riesco ad utilizzare this.id perchè mi dice che il valore e undefined !
Ho provato a creare una funzione javascript ed ho inserito all'interno alert(this.id); ma il messaggio è undefined.
Io ho la necessità di cambiare il colore di fondo dei campi che modifico in una grid modificabile.
Se non cambio il colore rischio di non ricordarmi di premere il pulsante di aggiornamento del record.

Ti ringrazio per l'aiuto!!

Re: JAVASCRIPT e ID campo

Inviato: 26 ott 2014, 07:00
da Fabio
Se hai scritto correttamente il javascript e ti risponde undefined allora l'oggeto non ha "id".
Per verificare se stai scrivendo il javascript correttamente puoi provare con alert(this).
Deve restituirti un "object".
Se ti da undefined allora c'è un errore generale.

Copia l'html della pagina generata (tasto destro, sorgente pagina) e mandamelo, così capisco meglio.

Re: JAVASCRIPT e ID campo

Inviato: 31 ott 2014, 20:48
da Lorenzo
Ciao Fabio
Ho risolto il mio problema !
All'interno dellevento onLoad della Form in Javascript ho inserito questa funzione:

Codice: Seleziona tutto

//CAMBIA SFONDO CAMPI MODIFICATI
$( "[id*='id_sc_field']" ).change(function() {
document.getElementById(this.id).style.backgroundColor='#F8F293';
});



//RESETTA DOPO AGGIORNAMENTO
$( "[id*='id_img_sc_upd_line']" ).click(function() {
var num_rig = this.id.slice(19);
var x = "[id*='" + num_rig + "']";
$( "[id*='id_sc_field']").each(function() {
$(x).each(function() {
document.getElementById(this.id).style.backgroundColor='#FFFFFF';
});
});
}); 
Funziona solo con grid editabili ma è facilmente adattabile anche alle form!
Grazie per l'aiuto

Re: JAVASCRIPT e ID campo

Inviato: 01 nov 2014, 07:23
da Fabio
Ottimo!