Avatar billede rathkjen Nybegynder
09. oktober 2008 - 14:18 Der er 10 kommentarer og
1 løsning

Submit på anden enter

er der muligt at lave sådan at anden gang der bliver trykket enter i et textarea bliver det opfanget som submit?

Tekst tekst tekst <enter>
tekst tekst <enter>(submit)
Avatar billede rathkjen Nybegynder
09. oktober 2008 - 15:16 #1
Alternativt kunne det laves på en sådan måde at første gang der blev trykket enter skulle det opfanges som tab og anden gang bare være et almindeligt enter
Avatar billede fennec Nybegynder
09. oktober 2008 - 15:51 #2
Noget i denne stil:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var EnterCount = 0
function tjeckKey(e, fForm)
{
    if(e.keyCode == 13)
        ++EnterCount
   
    if(EnterCount == 2)
        fForm.submit()
}
//-->
</SCRIPT>

<form name="myForm" method="Post" action="">
<textarea name="test" cols="40" rows="3" onkeydown="tjeckKey(event, this.form)"></textarea>
</form>
Avatar billede olebole Juniormester
09. oktober 2008 - 16:43 #3
<ole>

- og hvis det første 'Enter' var en fejl - hvad skal der så ske? Det lyder ikke som et helt gennemtænkt design  ;o)

/mvh
</bole>
Avatar billede rathkjen Nybegynder
13. oktober 2008 - 01:49 #4
Det virker jo som det skal :) smid et svar
Avatar billede skovenborg Nybegynder
13. oktober 2008 - 23:41 #5
Som olebole siger kan det design godt give nogle trælse problemer i længden. Måske skulle du hellere vælge at submitte formen, hvis brugeren fx holder ctrl nede:
function tjeckKey(e,frm) {
        if (e.ctrlKey && e.keyCode == 13) {
            frm.submit();
            return false;
        }
}
Avatar billede skovenborg Nybegynder
13. oktober 2008 - 23:43 #6
ellers hvis det er meget vigtigt det skal være anden gang, kan du checke værdien af tekstfeltet for et linieskift og submitte formen hvis det findes:
function checkKey(e,elm) {
        if (e.keyCode == 13 && elm.value.indexOf('\n') > -1) {
            elm.form.submit();
            return false;
        }
}

<textarea name="test" cols="40" rows="3" onkeydown="checkKey(event, this)"></textarea>

Det forhindrer dog ikke brugeren i at kopiere en masse linieskift ind, hvis det er det du vil undgå.
Avatar billede olebole Juniormester
14. oktober 2008 - 00:55 #7
Ja, jeg har overordentlig svært at forestille mig det scenarium, hvor den ønskede løsning vil være en god løsning. Hvis vi kunne få at vide, hvad det skal bruges til, er det sandsynligt, vi kan give dig en god løsning  =)
Avatar billede rathkjen Nybegynder
14. oktober 2008 - 09:50 #8
Det er til et magnetkortsystem hvor der i magnetkortet er 2 linier. den trykker derved enter 2 gange så et input felt kan ikke bruges da de nederste informationer ikke kommer med da den selv skal submite efter man har kørt kortet igennem

Så jeg har lavet et textarea med det script fennec kom med, men hvis i har en bedre idé er jeg også åben overfor det :)
Avatar billede fennec Nybegynder
15. oktober 2008 - 08:44 #9
Hov, jeg må hellere få lavet et svar.
.o) <-- One Eyed Jack
Avatar billede olebole Juniormester
15. oktober 2008 - 09:24 #10
Om der kan laves andre løsninger, ved jeg ikke. Jeg har ikke prøvet at arbejde med magnetkort - og er derfor ikke helt med på, hvem den 'digitale finger' her tilhører, eller hvordan den virker:
    "den trykker derved enter 2 gange"  =)
Avatar billede rathkjen Nybegynder
15. oktober 2008 - 12:14 #11
Hehe okay, men det her virker fint nok så det er i orden.
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