Switchare il focus da una textbox all'altra?

Zofen

Utente Attivo
608
33
ciao ragazzi, sto facendo uno script in javascript che interagisce con html.
Vorrei far si che alla pressione del tasto "cambia" con id "enter" il fuoco della prima casella si attivi sul secondo, analogamente premendo di nuovo il tasto succeda il contrario. Ho provato a buttar giù questo codice ma inspiegabilmente non va.
Qualcuno potrebbe aiutarmi?
Inoltre vorrei far si che, sempre tramite queste due caselle, se c'è del contenuto all'interno dell medesime, premendo il tasto "cambia", il contenuto venga trasferito all'interno di una nuova finestra, e questa deve far lampeggiare il testo, è possibile farlo? Chi mi aiuta? :ciaociao::ciaociao::ciaociao:
Codice:
<html>
<input type="text" id="c1"><br/>
<input type="text" id="c2"><br/>
<input type="button" value="cambia" id="enter" onkeypress="focus();">


<script>
function focus()
{
 if (document.activeElement.getAttribute('id') == 'c1')
 {
 document.getElementById('c2').focus();
 }else 
 {
 document.getElementById('c1').focus();
 }
}
</script>
</html>
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
ciao ragazzi, sto facendo uno script in javascript che interagisce con html.
Vorrei far si che alla pressione del tasto "cambia" con id "enter" il fuoco della prima casella si attivi sul secondo, analogamente premendo di nuovo il tasto succeda il contrario. Ho provato a buttar giù questo codice ma inspiegabilmente non va.
Qualcuno potrebbe aiutarmi?
Inoltre vorrei far si che, sempre tramite queste due caselle, se c'è del contenuto all'interno dell medesime, premendo il tasto "cambia", il contenuto venga trasferito all'interno di una nuova finestra, e questa deve far lampeggiare il testo, è possibile farlo? Chi mi aiuta? :ciaociao::ciaociao::ciaociao:
Codice:
<html>
<input type="text" id="c1"><br/>
<input type="text" id="c2"><br/>
<input type="button" value="cambia" id="enter" onkeypress="focus();">


<script>
function focus()
{
 if (document.activeElement.getAttribute('id') == 'c1')
 {
 document.getElementById('c2').focus();
 }else 
 {
 document.getElementById('c1').focus();
 }
}
</script>
</html>
Quando clicchi sul bottone, chiaramente il focus si sposta su quest'ultimo. Devi utilizzare un altro evento; poi perché onKeyPress? Intendevi onClick?
Ti ho scritto un esempio: JS Bin - Collaborative JavaScript Debugging
 

Zofen

Utente Attivo
608
33
Ciao, grazie per la risposta.
Si per onkeypress mi sono sbagliato, intendevo onclick (l'avevo messo inizialmente, poi l'ho cambiato).
Comunque io intendevo che quando si clicca sul pulsante si attiva il focus sulla prima text, quando l'utente clicca nuovamente sul pulsante si attiva il focus sulla seconda text.
Ho provato a togliere onmouseover però non va, forse tu con document.getElementById("enter").onmouseover = focus;
richiami la funzione focus?
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Ho provato a togliere onmouseover però non va, forse tu con document.getElementById("enter").onmouseover = focus;
richiami la funzione focus?
Sì, all'evento onmouseover.
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Ok, e se io volessi invertire il focus cliccando il tasto anziché passandogli sopra il mouse che modifica dovrei fare?
Dovresti salvarti qual'è l'elemento focalizzato prima che tu clicchi sul bottone. O comunque la determinazione di quale elemento sia focalizzato non deve avvenire nell'evento onclick, dato che il valore non sarebbe verosimile.
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili