JAVASCRIPT e ID campo

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Rispondi
Lorenzo
Messaggi: 97
Iscritto il: 30 mar 2014, 20:31

JAVASCRIPT e ID campo

Messaggio da Lorenzo » 21 ott 2014, 20:41

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

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: JAVASCRIPT e ID campo

Messaggio da Fabio » 22 ott 2014, 08:43

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"

Lorenzo
Messaggi: 97
Iscritto il: 30 mar 2014, 20:31

Re: JAVASCRIPT e ID campo

Messaggio da Lorenzo » 22 ott 2014, 19:45

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

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: JAVASCRIPT e ID campo

Messaggio da Fabio » 23 ott 2014, 14:03

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/>

Lorenzo
Messaggi: 97
Iscritto il: 30 mar 2014, 20:31

Re: JAVASCRIPT e ID campo

Messaggio da Lorenzo » 23 ott 2014, 21:31

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!!

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: JAVASCRIPT e ID campo

Messaggio da Fabio » 26 ott 2014, 07:00

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.

Lorenzo
Messaggi: 97
Iscritto il: 30 mar 2014, 20:31

Re: JAVASCRIPT e ID campo

Messaggio da Lorenzo » 31 ott 2014, 20:48

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

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: JAVASCRIPT e ID campo

Messaggio da Fabio » 01 nov 2014, 07:23

Ottimo!

Rispondi

Chi c’è in linea

Visitano il forum: Ahrefs [Bot] e 11 ospiti