---
title: "skicka formulär med submitknapp OCH enter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/138074-skicka-formulär-med-submitknapp-och-enter"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "ptr_lks"
published: "2005-11-22T16:09:46.000Z"
updated: "2006-01-12T11:26:31.000Z"
replies: 12
views: 457
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/138074-skicka-formulär-med-submitknapp-och-enter"
---

# skicka formulär med submitknapp OCH enter

## #1 — ptr_lks, 2005-11-22T16:09Z

Hej, 
vet itne om jag börjar bli blind, men hittar inte svaret...
Jag undrar ifall det går att göra så att formulär postas även då enter/retur klickas och inte bara med knappen

```
<table border="0" width="100%">
  <tr>
    <td width="50%">
      <form method="POST" action="skriv_mess.asp">
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td width="5%"><font face="Arial" size="2">Chatt:&nbsp;</font></td>
            <td width="15%"><textarea name="chattText" cols="60" rows="5"></textarea>
</td>
            <td width="80%"><input type="submit" value="Chatta" name="btnSend"></td>
          </tr>
        </table>
      </form></td>
    <td width="50%" align="right">
      <form method="POST" action="loggut.asp" target="_top">
        <div align="center">
          <input type="submit" value="Lämna" name="btnLogout">
        </div>
      </form>    </td>
  </tr>
</table>
```

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

## #2 — Peter S, 2005-11-22T16:24Z

Frågan är vilket formulär som skall skickas vid entertryckning; du har ju två. Om markören befinner sig i \<textarea\>n skall inte formuläret postas vid entertryck. Är någon av knapparna i fokus, skickas den knappens formulär.

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

## #3 — ptr_lks, 2005-11-22T16:29Z

> **Peter S skrev:**
>
> Frågan är vilket formulär som skall skickas vid entertryckning; du har ju två. Om markören befinner sig i \<textarea\>n skall inte formuläret postas vid entertryck. Är någon av knapparna i fokus, skickas den knappens formulär.

men jag vill skicka - går inte detta att göra??

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

## #4 — Peter S, 2005-11-22T16:32Z

Vilket av formulären?

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

## #5 — Peter S, 2005-11-22T17:10Z

Vilket som kan du använda koden nedan.

```
document.onkeypress = function(e){
  var node = null;

  if (window.event){
    node = window.event.srcElement;
  } else if (e){
    node = e.target;
  }

  if (node && node != document.forms[1].elements[0]){
    document.forms[0].submit();
  }
}
```

Ovan har jag antagit det första formuläret. Skulle det vara tvärtom får du hojta till.  :)

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

## #6 — ptr_lks, 2005-11-22T18:49Z

jag menade där

```
<textarea name="chattText" cols="60" rows="5"></textarea>
```

Funkar inte, dvs går inte att skriva ngt i textrutan  :( 
Bifogar hela koden...

Bilagor:

- [sktiv_mess.txt](https://www.webforum.nu/a/8544.txt)

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

## #7 — Peter S, 2005-11-23T00:28Z

Jag glömde uppenbarligen halva koden...

```
document.onkeypress = function(e){
  var node = null;

  if (e = window.event){
    node = e.srcElement;
  } else if (e){
    node = e.target;
  }

  if (e.keyCode == 13 && node && node != document.forms[0].elements[0] && node != document.forms[1].elements[0]){
    document.forms[0].submit();
  }
}
```

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

## #8 — ptr_lks, 2005-11-23T06:44Z

Tack Peter  :birp 
Orkar du förklara hur du tänkte? Så jag lär mig också? Eller var jag kan hitta en bra "tutte"?

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

## #9 — Peter S, 2005-11-23T09:05Z

Jag tänkte som så att:

1. Fånga upp alla tangenttryckningar
2. Om tangenten som trycktes ned var \<enter\> (keyCode = 13) och
3. \<textarea\>n inte är i fokus
4. Knappen i det andra formuläret inte är i fokus

Skicka iväg det första formuläret
När det gäller material, har mozilla.org [en hel del](http://developer.mozilla.org/en/docs/JavaScript).  :)

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

## #10 — ptr_lks, 2006-01-12T07:42Z

men kan du ytterligare förklara dessa rader

```
1:document.onkeypress = function(e){
2: e = e || window.event;
3: var node = null;
4: if (window.event){
5: node = e.srcElement;
  } 
7: else if (e){
 8:   node = e.target;
  }
```

tack för ordet
/ptr

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

## #11 — Peter S, 2006-01-12T10:00Z

Jag glömde uppenbarligen ytterligare en sak, så ovanstående inlägg är uppdaterat. Dessutom förenklade jag saker och ting en smula. Här är förklaringen:

```
document.onkeypress = function(e){
  // variabel som skall hålla en referens till det objekt som är i fokus vid entertryckning
  var node = null;

  if (e = window.event){ // om window.event stödjs av webbläsaren tilldelas [i]e[/i] en referens till det objektet (för IE och Opera t.ex)
    node = e.srcElement; // det element som är i fokus då entertryckningen skedde
  } else if (e){ // annars använd det medskickade argumentet (för ff t.ex)
    node = e.target; // samma som ovan
  }

  if (e.keyCode == 13 && node && node != document.forms[0].elements[0] && node != document.forms[1].elements[0]){
    document.forms[0].submit();
  }
}
```

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

## #12 — ptr_lks, 2006-01-12T11:21Z

så 

```
function(e)
```

står för enter-tryckning?
men variabeln node då?

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

## #13 — Peter S, 2006-01-12T11:26Z

Nej, på den första raden registrerar vi onkeypress-händelsen för dokumentet. Den *tillåter* oss att fånga upp entertryckningar.

Som jag skrev ovan sparas i node en referens till det element som är i fokus vid knapptryckningen.

 :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/138074-skicka-formulär-med-submitknapp-och-enter
