---
title: "Ajax formulär"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/163000-ajax-formulär"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "henkz"
published: "2007-07-29T10:29:09.000Z"
updated: "2007-08-10T08:52:56.000Z"
replies: 14
views: 848
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/163000-ajax-formulär"
---

# Ajax formulär

## #1 — henkz, 2007-07-29T10:29Z

Formuläret nedan fungerar när man skriver och trycker på Enter knappen.
Dock inte div med bilden.

Behöver hjälp med två saker:
1\. Skulle vilja att det även går att klicka på bilden för skickning av formuläret.
2\. Om man trycker shift+enter ska det bli radbyte.

Någon som kan hjälpa mig i rätt väg?
 

```
<form name="insertus">
<textarea id="msg" name="msg" rows="2" onKeyDown="if(event.keyCode==13) makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+this.value+'&rnd='+Math.random());" style="overflow:auto;width:100%;height:40px;"></textarea>

<div style="width:102px;height:69px;cursor:hand;" onKeyDown="if(event.keyCode==13) makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+this.value+'&rnd='+Math.random());">
<img src="design/bigsubmit.jpg" width="102" height="68" alt="" border="0" >
</div>
</form>
```

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

## #2 — TeChNiCh, 2007-07-30T08:44Z

Ska inte vara så svårt, skapa först en variabel som håller reda på om shift är nertryckt sedan shiftar du mellan true/false med den variabeln.... ex:

```
<script type="text/javascript">
var ShiftIn = 0;
</script>
<textarea id="msg" name="msg" rows="2" onkeyup="if (event.keyCode==16) ShiftIn = 0;" onKeyDown="if (event.keyCode==16) ShiftIn = 1;if((event.keyCode==13) && (ShiftIn == 0)) makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+this.value+'&rnd='+Math.random());" style="overflow:auto;width:100%;height:40px;"></textarea>
```

tror den bör funka, har inte testat men så funkar vl principen iallafall tror dock att mac kan vara kinkig när det gäller keycode 16, nån läsare har jag för mig krånglar, mest troligt safari.

sedan till få bilden att skicka så lägg till detta i img-taggen

```
onclick="makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+document.getElementById('msg').value+'&rnd='+Math.random());"
```

du kan också göra en länk om du hellre vill...
Inget testat men som sagt bör funka :)

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

## #3 — colione, 2007-07-30T08:56Z

Varför inte använda:

event.shiftKey

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

## #4 — TeChNiCh, 2007-07-30T22:03Z

event.shiftKey gör jobbet också, det buggar i Firefox v1 - v1.5 eller något sånt... resultatet blir då alltid true om jag minns rätt.

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

## #5 — henkz, 2007-08-01T10:31Z

Tack för hjälpen!
Funkade nästan perfekt.

När jag gör radbrytning med shift+enter, hur kan jag plocka ut denna radbrytning?
jag tänkte köra en replace: 
msg = Replace(msg, vbCrLf, "\<br\>")

Detta fungerar inte. Hur kan jag lösa detta?

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

## #6 — henkz, 2007-08-03T07:37Z

Behöver fortfarande lite hjälp med detta.

Kan man inte på nått vis få till detta? eller är det tekniskt omöjligt?

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

## #7 — colione, 2007-08-03T07:41Z

Prova med att bara göra en replace på vbCr eller vbLf

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

## #8 — henkz, 2007-08-03T08:00Z

Fungerar tyvärr inte. Har provat det.

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

## #9 — TeChNiCh, 2007-08-07T22:57Z

vet inte exakt vad du vill göra men
prova något sådant:

msg = msg.replace(/\\r\\n/, "\<br /\>");

lek lite med regex så får du nog till det precis som du vill ha ;)

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

## #10 — henkz, 2007-08-09T12:02Z

Det hela är tänkt att fungera som MSN.

När man trycker "shift+enter" blir det radbyte och vanlig "enter" skickas formuläret.

Det hela fungerar på sidan, men när jag ska få radbrytningen ersatt med \<br\> fungerar det inte. Det blir ingen radbrytning alls.
Har försökt erätta med vbCr, vbLf, vbcrlf , det löser inte problemet.
.asp ex: msg = Replace(msg, vbcrlf, "\<br\>")

Sätter jag in mönstret: "/\\r\\n/, "\<br /\>" blir texten hej:
h
e
j

Räcker det att ändra lite i regexp mönstret?

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

## #11 — colione, 2007-08-09T12:13Z

```
set r=new regexp

r.pattern="[\r\n]{1,}"
r.global=true
r.multiline=true

f="Hej"&vbcrlf&"jag heter"&vbcr&"bertil"&vblf&"nilsson"

m=r.replace(f,"<br>")
```

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

## #12 — henkz, 2007-08-09T13:57Z

Tack!
Men det fungerar ändå inte. Blir inga radbrytningar.

Kan felet ligga här:

```
<script type="text/javascript">
var ShiftIn = 0;
</script>
<textarea id="msg" name="msg" rows="2" onkeyup="if (event.keyCode==16) ShiftIn = 0;" onKeyDown="if (event.keyCode==16) ShiftIn = 1;if((event.keyCode==13) && (ShiftIn == 0)) makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+this.value+'&rnd='+Math.random());" style="overflow:auto;width:100%;height:40px;"></textarea>
```

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

## #13 — colione, 2007-08-09T14:00Z

Hmm, har du lust att skapa en sida som spottar ut den inskickade datan omslutet med pre-taggar som vi kan kontrollera på?

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

## #14 — henkz, 2007-08-09T14:23Z

Det ger inte så mycket info det.

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

## #15 — henkz, 2007-08-10T08:52Z

> **colione skrev:**
>
> Hmm, en tanke som slår mig är ju att det skulle kunna bero på att du skickar det som get-data utan att koda om det som en del av en URL.
> 
> Använd: encodeURIComponent(this.value) till urlen när du sparar chatten.
> 
> I övrigt tror jag det hade varit bättre om du skickar det hela som post-data istället för get. Du kan skicka mer infromation då.

Funkade klockrent!

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/163000-ajax-formulär
