---
title: "Plocka ut namnet på formuläret"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/130895-plocka-ut-namnet-på-formuläret"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "bloSSA"
published: "2005-07-02T16:20:31.000Z"
updated: "2005-07-05T15:52:17.000Z"
replies: 8
views: 397
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/130895-plocka-ut-namnet-på-formuläret"
---

# Plocka ut namnet på formuläret

## #1 — bloSSA, 2005-07-02T16:20Z

Hejsan!

Jag har några formulär på en sida som jag postar med hjälp av:

> \<a href="javascript: formularnamnet.submit()"\>posta\</a\>

Nu vill jag slippa att skriva in namnen på formulären i scripten och undrar därför om, och i så fall hur, man plockar fram de olika formulärens namn var för sej.
 Jag kan få fram själva namnet på formulären en och en med 'document.forms\[0\].name',  'document.forms\[1\].name' osv. Men jag har olika antal formulär på sidorna och filen där själva funktionen '\<a href"......."\> ligger är en helt annan än de sidorna där jag har formulären.

Tacksam för Hjälp!

/Anders

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

## #2 — Guffa, 2005-07-02T17:29Z

Vad ska du ha formulärens namn till? Vad är det som avgör vilket formulär som ska skickas?

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

## #3 — bloSSA, 2005-07-02T17:54Z

Det som avgör vilket formulär som skickas är formulärnamnet i
'\<a href="java script: formularnamnet.submit()"\>posta\</a\>'. 'formularnamnet' ska vara detsamma som det namnet man angivit FORM-taggen.

Det som avgör vilket formulär som ska skickas är vilken 'posta'-text man klickat på. :-) Det finns alltså en 'posta'-text för varje formulär.

Formulären ska skickas till olika sidor och jag vill undvika att behöva ändra på alla de sidor där formulären finns. På de sidor där formulären finns ligger ett php-script som hämtar '\<a href=...\>'-funktionen från en annan fil.

/Anders

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

## #4 — Guffa, 2005-07-02T18:05Z

Men om du vill slippa skriva namnen på formulären, vad är det då som ska avgöra vilket formulär som ska postas?

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

## #5 — bloSSA, 2005-07-02T18:25Z

Typ så här ser koden ut (obs! exempel!):
Första filen kan innehålla 1,2,3 eller 4st formulär. Jag har ca 30st olika filer, därför vill jag inte behöva gå in och ändra i alla dessa.
En fil med 2st formulär:

> .....
> \<form name="namn_ett" action="fil_ett.php"\>
> \<input type="text" name="text_ett"\>
> \<?php knapp(posta_ett); ?\>
> \</form\>
> .....
> \<form name="namn_tva" action="fil_tva.php"\>
> \<input type="text" name="text_tva"\>
> \<?php knapp(posta_tva); ?\>
> \</form\>
> .....

 
i ovanstående anropar php-satsen en funktion 'knapp' som finns i en fil liknande den nedan:

> function knapp($text) {
> $kod='\<script type="text/javascript"\> 
> \<!-- 
> document.write(\\'\<a href="javascript: formnamnet.submit()"\>$text\</a\>\\'); 
> // --\> 
> \</script\>';
> return $kod;
> }

Jag har alltså bara en funktion som skall fungera som posta-knapp till flera formulär. 'formnamnet' skall i ena fallet vara 'namn_ett', i det andra fallet 'namn_tva'. Kunde jag få till den filen jag gav exempel på sist så behöver jag bara ändra i en enda fil.

Jag har en fundering. Kan jag på något vis få fram
'sizeof' 'document.forms.name' eller dylikt? Första gången funktionsfilen anropas antar jag att jag bara har ett 'document.forms.name', andra gången 2st 'document.forms.name' osv...

edit: kompletterade koden i 'den nedersta filen' med en return-sats.

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

## #6 — nitro2k01, 2005-07-03T20:04Z

Pröva detta:
Lägg denna kod överst i varje HTML-fil (Alternativt i en js-fil som du inkluderar)

```
<script type="text/javascript">
function findAndSubmit(th){

	while((th = th.parentNode).tagName != "FORM" && (th).tagName != "HTML"){}

	if(th.tagName=="FORM"){
		th.submit();
	}else{
		alert("Varning! Länken ej placerad inuti en form!" + th.tagName)
	}

	return false;
}
</script>
```

 Sedan skriver du om funktionen knapp såhär:

```
function knapp($text) {
$kod='<script type="text/javascript"> 
<!-- 
document.write('<a href="java script: ;;" onclick="return findAndSubmit(this);">$text</a>'); 
// --> 
</script>';
return $kod;
}
```

Funktionen findAndSubmit kan läggas varsomhelst i ett formulär och söker upp vilket formulär det ligger i och postar detta.
Tänk bara på att du måste skriva return findAndSubmit(this);
return måste du ha, för annars stoppas postningen av länken. this måste du ha för att scriptet ska ha hitta rätt. Om länken inte ligger i ett formulär kommer en varning visas på skärmen.

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

## #7 — bloSSA, 2005-07-03T20:28Z

Funkar det där så är det kanon! När jag får tid ska jag testa att lägga in det i en js-fil som jag redan idag includerar från alla sidor.

Tack så hjärtligt så länge!!

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

## #8 — bloSSA, 2005-07-04T14:30Z

Kan meddela att ovanstående kod funkar perfekt!! Enda 'kruxet' var att hitta någon bra fil att lägga in det i, men det löste sej.

Återigen, Tack!

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

## #9 — nitro2k01, 2005-07-05T15:52Z

Ett litet tips bara! Istället för att ändra titeln till löst så finns det en speciell funktion i webForum som gör att du kan acceptera svar. Klicka på länken "Acceptera slutgiltigt svar" längst nere till höger i mitt inlägg (Gärna det ovan istället för detta :) )

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/130895-plocka-ut-namnet-på-formuläret
