---
title: "Rensa formfält med setTimeout"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/73604-rensa-formfält-med-settimeout"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Palle"
published: "2003-04-09T09:08:56.000Z"
updated: "2003-04-09T17:18:25.000Z"
replies: 12
views: 342
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/73604-rensa-formfält-med-settimeout"
---

# Rensa formfält med setTimeout

## #1 — Palle, 2003-04-09T09:08Z

Hej,

Till en liten chatfunktion använder jag javascript för att validera att nickname och meddelande 
skickas till chatten, för att sedan tömma meddelanderutan igen använder jag följande: 

```
[RED]setTimeout("document.getElementById('txMessage').value=''", 1000);[/RED]
```

Fungerar bra i IE, men i NN och Moz finns meddelandet kvar.. vilket inte är önskvärt. ;)
Någon som vet hur jag tömmer det nedrans formfältet i NN och Moz per automatik när formuläret subbmittas?

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

## #2 — Peter S, 2003-04-09T09:13Z

Du kanske kan lägga in någonting liknande i "onsubmit"-attributet:

```
<form onsubmit="document.getElementById('txMessage').value=''"...
...
```

 :)

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

## #3 — Palle, 2003-04-09T09:17Z

Testat det redan och det hjälpte inte det heller.. :(

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

## #4 — Peter S, 2003-04-09T09:22Z

Jag tror att jag missförstod dig... är "txMessage" namnet på den textruta som meddelandet står i och det är denna som skall rensas när meddelandet har skickats? Det bör väl isåfall ske automatiskt i och med att formuläret skickas.

 :)

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

## #5 — Palle, 2003-04-09T09:26Z

Ja, *txMessage* är en textarea där besökaren skriver sitt meddelande.
Det är denna som jag vill tömma på information. :)

Nja, jag skickar formuläret via *target* direkt till frame´n som hanterar formuläret och laddar således aldrig om "hela sidan"..

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

## #6 — Peter S, 2003-04-09T09:28Z

Ok, då kanske du lägga in ovanstånde kod i \<body onload="..." på sidan i ramen istället?

Red. Något modifierad version givetvis  ;) 

 :)

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

## #7 — Palle, 2003-04-09T09:34Z

Jag har testat det också, men det ger bara 'document.getElementById(...)' är null eller inte ett objekt

Så här ungefär ser det ut: (Fungerar som sagt perfa i IE.. ;) )

**Formulär:**

```
[RED]<form method="post" ...  onsubmit="return saveChatMessage();">
     <input type="text" name="txName" ... />
     <textarea name="txMessage" ... ></textarea>
</form>
[/RED]
```

&nbsp;

**Funktionen:**

```
[RED]function saveChatMessage() {

	username = document.getElementById('txName').value.length;
	usermess = document.getElementById('txMessage').value.length;

	if (username < 1) {
		alert("Du måste ange ditt namn!");
		document.getElementById('txName').focus(); 
		return false; 

	} else if (usermess < 1) {
		alert("Det går inte att posta tomma meddelande!"); 
		document.getElementById('txMessage').focus(); 
		return false; 

	} else {
		setTimeout("document.getElementById('txMessage').value=''", 1000);

	}
}[/RED]
```

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

## #8 — Peter S, 2003-04-09T09:38Z

Eftersom sidan ligger i en ram får du modifiera koden en aning:

```
...
parent.frames[ "ramens_namn" ].document.getElementById(  "txMessage" );
...
```

 :)

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

## #9 — Palle, 2003-04-09T09:52Z

Nja.. formuläret ligger inte i någon frame.  :l

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

## #10 — Palle, 2003-04-09T09:54Z

Kanske var lite otydlig.. :r ..här kommer en liten sitemap:

default.asp:
&nbsp; • Här ligger själva formuläret.

chat_main.asp
&nbsp; • Här ligger asp-funktionen som hanterar informationen från formuläret.
&nbsp; • Ligger i en iframe.

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

## #11 — Peter S, 2003-04-09T09:58Z

Så du använder en "iframe"? Då blir det så här; i "chat_main.asp"

```
<body onload="parent.document.getElementById('txMessage').value=''">
```

 :)

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

## #12 — Palle, 2003-04-09T10:43Z

Jo det fungerar.. men ..eftersom iframe´n uppdateras med en *meta* var 10´e sekund är det 
väldigt enerverande om formfältet man håller på att skriva i tömms på innehåll  var 10´e sekund. ;)

Det var därför jag ville ha in det i min funktion som tömmer fältet precis efter submit. :)
Går det tror du?

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

## #13 — Peter S, 2003-04-09T17:18Z

Eftersom du använder dig av *document.getElementBy**Id**()* så måste textarean ha ett id vars värde i detta fall skall vara "txMessage".

Då bör din ursprungliga kod fungera.

 :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/73604-rensa-formfält-med-settimeout
