---
title: "Enter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/45710-enter"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "danielpetersson"
published: "2002-06-12T14:42:16.000Z"
updated: "2002-06-13T10:18:21.000Z"
replies: 11
views: 355
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/45710-enter"
---

# Enter

## #1 — danielpetersson, 2002-06-12T14:42Z

Hej!

Undrar hur man skriver i en JavaScript-funktion för att kunna kontrollera även det inmatade när användaren tryckt på enter i text-fältet? Det ska alltså ske samma sak när användaren tryckt enter eller användaren tryckt på sök-knappen. Som det är nu så "submittas" formuläret om användaren tryck enter oberoende vad användaren skrivit i textfältet.
Koden ser ut enligt följande:

function siffra(str)
{
for (index=0;index\<str.length;++index)
if ('0123456789'.indexOf
(str.substring(index, index + 1)) == -1)
return false;
return true;
}

function sifferKoll()
{
if (!siffra (searchForm.searchText.value))
alert ("Inga bokstäver och mellanslag i artikelnumret!");
else if (document.searchForm.searchText.value.length \< 2)
alert("För få tecken");
else
{
document.searchForm.submit();
}
}

\<FORM method="post" onSubmit="sifferKoll()" target="resultat" name="searchForm"\>
\<input type="text" name="searchText" size="15" maxlength="30"\>
\<input type="button" name="searchButton" value=" Sök " onClick="sifferKoll()"\>
\</FORM\>

Permalänk: https://www.webforum.nu/p/45710

## #2 — Jojoxx, 2002-06-12T15:19Z

Använd onSubmit="**return** sifferKoll()" och sedan returnerar du false om något inte stämmer (bokstäver, för få tecken etc.) och true om allt är ok. document.searchForm.submit(); kan du således plocka bort -- det fyller ingen funktion.

Permalänk: https://www.webforum.nu/p/696563

## #3 — danielpetersson, 2002-06-12T16:58Z

Vet inte hur det går till men det verkar som den hoppar över "return false" när man trycker enter. Det blir nämligen samma resultat som innan. Alertmeddelandet om för få tecken etc.. fungerar alltså men formuläret skickas ändå.
Koden ser nu ut enlig följande:

function siffra(str)
{
for (index=0;index\<str.length;++index)
if ('0123456789'.indexOf
(str.substring(index, index + 1)) == -1)
return false;
return true;
}

function sifferKoll()
{
if (!siffra (searchForm.searchText.value))
{
alert ("Inga bokstäver och mellanslag i artikelnumret!");
return false;
}
else if (document.searchForm.searchText.value.length \< 2)
{
alert("För få tecken");
return false;
}
else
{
document.searchForm.action="sokningsresultat.asp"
document.searchForm.submit();
}
}

\<FORM method="post" onSubmit="return sifferKoll()" target="resultat" name="searchForm"\>
\<input type="text" name="searchText" size="15" maxlength="30"\>
\<input type="button" name="searchButton" value=" Sök " onClick="sifferKoll()"\>

Meningen är att om användaren trycker på enter eller sök-knappen så ska exakt samma sak ske, men det gör det tyvärr inte nu.

Permalänk: https://www.webforum.nu/p/696618

## #4 — Jojoxx, 2002-06-12T17:45Z

Funkar när jag testar det. Däremot måste du ha en submit-knapp med i formuläret som det skall fungera att trycka enter i text-fältet. I stället för type="button" alltså;

\<input type="submit" name="searchButton" value=" Sök "\>

Permalänk: https://www.webforum.nu/p/696642

## #5 — danielpetersson, 2002-06-12T18:26Z

Funkar fortfarande inte. Formuläret skickas alltid när jag trycker på enter. Fattar ingenting just nu.

Väldigt tacksam för hjälp.

Permalänk: https://www.webforum.nu/p/696676

## #6 — Jojoxx, 2002-06-12T18:48Z

Kan du skicka en länk till sidan i fråga?

Permalänk: https://www.webforum.nu/p/696688

## #7 — danielpetersson, 2002-06-12T18:53Z

Du kan gå in på 194.47.40.136 men det kommer inte att vara igång så jättelänge. Testa att söka på t ex artikelnummer 99 genom enter och knappen.

Permalänk: https://www.webforum.nu/p/696693

## #8 — Jojoxx, 2002-06-12T19:16Z

I formuläret använder du onSubmit="koll();". Du måste **returnera false** för att formuläret inte skall skickas. Alltså skall det vara **onsubmit="return koll();"**. Inte heller funktionen koll() returnerar någonting. Vill du att svaret från textKoll(); och sifferKoll(); skall returneras från funktionen koll (och i sin tur från eventet onSubmit) måste du använda **return textKoll();** och **return sifferKoll();**. Åter igen, även dessa funktioner måste returnera något, alltså efter alert-satserna som talar om att något är fel måste du ha med **return false** (och sist i funktionen om allt är ok return true).

Permalänk: https://www.webforum.nu/p/696700

## #9 — danielpetersson, 2002-06-12T19:26Z

Problemet är löst. 
Tack så hemskt mycket!

Permalänk: https://www.webforum.nu/p/696707

## #10 — danielpetersson, 2002-06-12T22:54Z

Jag har även problem med min sökfunktion när man söker på ett namn. Jag gör om allt som är infört i textfältet till stora bokstäver, men av någon konstig anledning så görs inte den inmatade strängen om till stora bokstäver om man trycker på enter-knappen i text-fältet. Alltså det funkar som det ska när användaren trycker på sök-knappen, men inte när användaren trycker på enter-knappen. 
Så här ser koden ut:

function bokstav(str)
{
for (index=0;index\<str.length;++index)
if ('abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVXYÅÄÖ0123456789/\*- '.indexOf
(str.substring(index, index + 1)) == -1)
return false;
return true;
}

function textKoll()
{
var temp;
temp = searchForm.searchText.value;
document.searchForm.searchText.value = upperCase(searchForm.searchText.value);
document.searchForm.action = "sokningsresultat.asp"
document.searchForm.submit();
document.searchForm.searchText.value = temp;
return true;
}

function upperCase(str)
{
var str;
str = document.searchForm.searchText.value.toUpperCase();
return str;
}

\<FORM method="post" onSubmit="return textKoll()" target="resultat" name="searchForm"\>
\<INPUT type="text" name="searchText" size="15" maxlength="30"\>
\<INPUT type="button" name="searchButton" value=" Sök " onClick="textKoll()"\>
\</FORM\>

Tacksam för ideér.

Permalänk: https://www.webforum.nu/p/696774

## #11 — Jojoxx, 2002-06-13T05:58Z

Du har mycket onödig och redundant kod. Använd detta i text-fältet istället.

```
<INPUT type="text" name="searchText" size="15" maxlength="30" onKeyup="this.value=this.value.toUpperCase();">
```

Permalänk: https://www.webforum.nu/p/696804

## #12 — danielpetersson, 2002-06-13T10:18Z

Tack än en gång, Jojoxx!

Permalänk: https://www.webforum.nu/p/696938

---

Tråden på webben: https://www.webforum.nu/amne/javascript/45710-enter
