Avatar billede stargate Nybegynder
17. maj 2004 - 15:49 Der er 11 kommentarer og
1 løsning

Slette-tast virker forkert.

Jeg har et par <select> (drop-down) elementer på en side.

Problemet er, at når en bruger af vanvare markerer et af disse, og bruger slette-tasten (backspace), virker det som en history.back()...?

Hvordan undgår man dette ???
Avatar billede olebole Juniormester
17. maj 2004 - 16:18 #1
<ole>

Det har intet med select-elementer at gøre. Backspace er _altid_ keyboard'ets back-knap  :)

/mvh
</bole>
Avatar billede olebole Juniormester
17. maj 2004 - 16:20 #2
... og glem alt om at disable den - da brugeren så mangler den til alt mulig andet. Gå derimod udfra, at dine brugere ved, hvordan en PC fungerer  ;o)
/mvh
Avatar billede stargate Nybegynder
18. maj 2004 - 13:16 #3
OK...
Mine bruger ved desværre bare ikke hvordan en PC/IE fungerer  :-(

Problemet ligger i, at det er en side med ca 25 indtastningsfelter, hvoraf et par er <select>. Brugerne kan jo bruge backspace i "normale" felter, og tænker ikke lige over, at de står i en <select>.
Det kedelige er at når det sker, ryger de "tilbage", og mister indtastede data, hvilket de bliver ret irriterede over  :-0
Avatar billede stargate Nybegynder
18. maj 2004 - 13:19 #4
Kan man dis- / enable den i javascript ?
Alle felter har en onblur() og/eller onfocus()
Avatar billede olebole Juniormester
18. maj 2004 - 19:25 #5
Jamen, det er da præcis det samme på de 4,3 milliarder andre sider på WWW. Den eneste undtagelse er, når cursoren står i et tekstfelt ... ellers virker backspace _altid_ som en Back-knap.
Hvis dine brugere bliver irriterede over det, må hele nettet jo irritere dem - og kan de ikke finde ud af at bruge din side, kan de ikke finde ud af at bruge en eneste side på nettet  :)
Avatar billede stargate Nybegynder
19. maj 2004 - 11:59 #6
Ja, ja, ja....
Jeg er enig i dine synspunkter  ;-)
Det hjælper mig bare ikke, for når de vil ha' det så'n, så skal det laves så'n  :-(
Avatar billede olebole Juniormester
19. maj 2004 - 15:22 #7
Du kan prøve det her. Det vil virke i IE:

<script type="text/JavaScript">
document.onkeydown = function() {
    if (!window.event) return;
    var sE = event.srcElement;
    if ( (sE.tagName=="INPUT" && (sE.type="TEXT" || sE.type=="PASSWORD") || se.tagName=="TEXTAREA" ) return;
    if ( event.keyCode==8 ) {
        event.cancelBubble = true;
        event.keyCode = 0;
        return false;
    }
}
</script>
Avatar billede olebole Juniormester
19. maj 2004 - 15:24 #8
Oooops ... et par fejl  :)

<script type="text/JavaScript">
document.onkeydown = function() {
    if (!window.event) return;
    var sE = event.srcElement;
    if ( (sE.tagName=="INPUT" && (sE.type="TEXT" || sE.type=="PASSWORD")) || sE.tagName=="TEXTAREA" ) return;
    if ( event.keyCode==8 ) {
        event.cancelBubble = true;
        event.keyCode = 0;
        return false;
    }
}
</script>
Avatar billede stargate Nybegynder
19. maj 2004 - 17:21 #9
Takker...

Jeg kan desværre ikke prøve det af før mandag.
Da sider bliver sammensat "dynamisk", og inkluderer diverse filer, kan det så lægges ud i en function, der kaldes ved fx. onkeydown="..."  ???
Avatar billede stargate Nybegynder
24. maj 2004 - 12:36 #10
Umiddelbart virker scriptet fint.
Dog ikke hvis det er en knap der har fokus.
Når man vil tab'e væk fra knappen kommer fejlen:
  Could not get the type property. This command is not supported.
Avatar billede stargate Nybegynder
01. juni 2004 - 13:27 #11
olebole: læg et svar, jeg har brugt dit script...
Avatar billede stargate Nybegynder
13. juni 2008 - 16:52 #12
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester