[JS] Enter wordt tab -> kan dat :?

Pagina: 1
Acties:

  • MAZZA
  • Registratie: Januari 2000
  • Laatst online: 09-09 15:29

MAZZA

Barbie is er weer!

Topicstarter
Ik ben bezig met een formpje en ik wil dat dit formpje niet gesubmit kan worden met de enter. Maar in plaats van dat je het form submit moet de cursor naar het volgende invoervak gaan als je op de enter ragt.

Is dit mogelijk :?
Ik ben al wel zover gekomen dat ik de toetsen kan opvangen door middel van de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script language="JavaScript">

if (navigator.appName == "Netscape") {
  function alert_keycodeNN(event){
    if (event.which == 13) {
    alert('blaaht');
    } else { }
  }
  document.captureEvents(Event.KEYPRESS);
  document.onkeypress=alert_keycodeNN;
} else {
  function showKey() {
    if (event.keyCode == 13) {
    alert('blaaht');
    } else { }
  }
  document.onkeypress = showKey;
}
</script>

Werkt onder netschaap en explorer en geeft bij de enter (ASCII (toch :? ) code 13) een alert blaaht.

Maar is het dan ook mogelijk dat dit wordt omgezet naar een tab :?

Verwijderd

code:
1
2
3
4
  function showKey() {
    if (event.keyCode == 13) {
    event.keyCode == DE CODE VAN TAB
    } else { }

:? denk ik....

  • MAZZA
  • Registratie: Januari 2000
  • Laatst online: 09-09 15:29

MAZZA

Barbie is er weer!

Topicstarter
Op dinsdag 06 november 2001 10:49 schreef jrs het volgende:
code:
1
2
3
4
  function showKey() {
    if (event.keyCode == 13) {
    event.keyCode == DE CODE VAN TAB
    } else { }

:? denk ik....
Dat werkt dus niet :'( Ik had het al geprobeerd maar dat had geen succes. Ik had het alleen even moeten melden in mijn post :)

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:06

RM-rf

1 2 3 4 5 7 6 8 9

mischien kun je het anders doen zonder key-events af te vangen.

als je in je form onsubmit="functieDieHetVolgendeElementSelecteerd();return false"
doet en in je button onclick="this.form.submit()"
lijkt het me dat je al een heel end komt

de submit() method triggered nl. niet de onsubmit, maar de enter wel

enkel moet je dan even zien bij te houden welk element geselecteerd is, misschien dmv een een onfocus="" in de inputs.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • MAZZA
  • Registratie: Januari 2000
  • Laatst online: 09-09 15:29

MAZZA

Barbie is er weer!

Topicstarter
Hmm ja dat werkt idd. Daar vang ik in ieder geval mee af dat ze het form niet met de enter kunnen submitten. Dit had ik eigenlijk al door gewoon de enter te disablen zogezegd.

De reden waarom ik het liefst de enter vervang door de tab is dat de mensen die dit gaan gebruiken gewend zijn dat bij het gebruiken van de enter zij naar het volgende veld gaan. Een beetje het excel idee.

Maar ik krijg een beetje het idee dat ik iets onmogelijks vraag :) Mijn creativiteit begint een beetje op te raken in ieder geval :{

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:06

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function functieDieHetVolgendeElementSelecteerd()
{
    var check = false
    for (a in document.forms['form1'].elements)
    {
     if (check) {
        document.forms['form1'].elements[a].focus()
        return false
     } else if (document.forms['form1'].elements[a].name == selectedElement) {
        check = true
     }
    }
}
var selectedElement
function FunctieVoorInOnFocus(element) 
{
    selectedElement = element.name
}

valt nog wat te optimaliseren, (eigenlijk is het een stuk eenvoudiger als je de indexwaarde van het element binnen de form kan opvragen, dan kan je gewoon index+1 doen)
verder moet er misschien een check in tegen hidden elementen, die immers geen focus kunnen ontvangen

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • MAZZA
  • Registratie: Januari 2000
  • Laatst online: 09-09 15:29

MAZZA

Barbie is er weer!

Topicstarter
Op dinsdag 06 november 2001 12:33 schreef RM-rf het volgende:
code:
1
[..]

valt nog wat te optimaliseren, (eigenlijk is het een stuk eenvoudiger als je de indexwaarde van het element binnen de form kan opvragen, dan kan je gewoon index+1 doen)
verder moet er misschien een check in tegen hidden elementen, die immers geen focus kunnen ontvangen
Hey bedankt :) Ik ga er eens mee aan de slag. Ik zat blijkbaar weer eens veel te moeilijk te doen :)

Thx!
Pagina: 1