Avatar billede prom Nybegynder
01. august 2006 - 15:10 Der er 15 kommentarer og
1 løsning

"Klikke på" Enter tasten fra JavaScript?

Hvordan kan jeg fra en JavaScript funktion "klikke på" Enter tasten?
Avatar billede madeindk Nybegynder
01. august 2006 - 15:14 #1
Hvordan vil du bruge det? Er det en submit knap du vil ha?
Avatar billede prom Nybegynder
01. august 2006 - 15:22 #2
Nei - Det er nogen felter som bliver udfyldt ved Enter tryk. Det er et CMS system som genererer HTML koden som jeg ikke har adgang til. Jeg har dog adgang til en JavaScript fil som bliver inkluderet i HTML filen.
Der vil jeg så lave en onLoad eventhandler som fyrer Enter tasten af.
Avatar billede thesurfer Nybegynder
01. august 2006 - 15:57 #3
Eksempel:

<script type="text/JavaScript" language="JavaScript">
document.onkeydown = function(e) { alert( 'Du trykkede: "' + escape(String.fromCharCode(e.which)) + '" som har kode ' + (e.which) ); }
</script>

Jeg har brugt "escape", så beskeden ikke laver en ny linie, når man trykker på ENTER..
Avatar billede thesurfer Nybegynder
01. august 2006 - 15:58 #4
PS:
Det skal nok passe med, at det hedder noget andet end "e.which", i de forskellige browsere.. typisk..
Avatar billede thesurfer Nybegynder
01. august 2006 - 16:06 #5
Kilde: http://www.quirksmode.org/js/events_properties.html

Her er en modificeret udgave af koden på url'en:

<script type="text/JavaScript" language="JavaScript">
function doSomething(e)
{
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);
    alert('Tegn: ' + escape(character) + ' , kode: ' + code);
}

document.onkeydown = function(e) { doSomething(e); };
</script>
Avatar billede prom Nybegynder
01. august 2006 - 16:16 #6
For så vidt nogen gode forslag, men jeg vil fyre "Enter" tasten fra JavaScript så snart browseren har loadet siden, uden at brugen gør noget som helst.
Avatar billede thesurfer Nybegynder
01. august 2006 - 16:24 #7
Er det et felt der har fokus, når siden loades? Eller vil du affyre "Enter" ude i det blå..?

:-)
Avatar billede thesurfer Nybegynder
01. august 2006 - 16:27 #8
Jeg tror at man bare kan bruge: event.keyCode=13

Kilde: http://javascript.internet.com/forms/enter-key-focus.html

Dog skal man lige huske, at Enter = submit, så man skal højst sandsynligt indsætte onsubmit="return false", eller lignende..

Browseren Opera fortsætter, når man trykker enter..
Avatar billede prom Nybegynder
01. august 2006 - 16:27 #9
Et felt har fokus.
Avatar billede thesurfer Nybegynder
01. august 2006 - 16:32 #10
Hmm.. Det er kun Internet Explorer der tillader at man "sætter"/"afvikler" event.keyCode=13..

Man sætter tasten til 13, hvilket er "Enter".

Opera v9 og FireFox version 1.5 tillader ikke dette.
Avatar billede prom Nybegynder
01. august 2006 - 16:33 #11
thesurfer: din løsning krever stadig at brukeren aktivt trykker på en tast...
Avatar billede thesurfer Nybegynder
01. august 2006 - 16:35 #12
prom> Nej.
Man skal bare afvikle "event.keyCode=13".

Dvs,

<script type="text/JavaScript" language="JavaScript">
event.keyCode=13
</script>
Avatar billede thesurfer Nybegynder
01. august 2006 - 16:36 #13
Det skal muligvis hedde "window.event.keyCode=13".. jeg tester lige..
Avatar billede thesurfer Nybegynder
01. august 2006 - 16:52 #14
Hmm.. Jeg kan ikke helt få det til at virke..

Men jeg tænkte på noget i stil med det her:

<html>
<head>
<title>localtest</title>
<script type="text/JavaScript" language="JavaScript">
function sendenter()
{
event.keyCode=13;
alert("test: done");
}
</script>
</head>
<body onload="setTimeout('sendenter(event)',1000 * 2);"> <!-- delay: 2 sekunder -->

<form name="frm" action="http://www.server.com" method="post">
Felt 1: <input type="text" name="felt1">
<br>
Felt 2: <input type="text" name="felt2">
<br>
<input type="submit" value="send">
<input type="reset" value="reset">
</form>

<script type="text/JavaScript" language="JavaScript">
document.frm.felt1.focus(); // sæt fokus på felt
</script>

<body>
</html>
Avatar billede prom Nybegynder
07. august 2006 - 11:02 #15
thesurfer> Jeg fik løst problemet i systemet som genererer HTML koden. Kast et svar så skal du få point for insatsen:)
Avatar billede thesurfer Nybegynder
07. august 2006 - 14:00 #16
OK :-)
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

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