webForumDet fria alternativet

Funkar flera formulär på samma sida?

ASP

8 svar · 389 visningar · startad av Oputres

Medlem sedan feb. 2004333 inlägg
Frågan#1

Allå.

Hur blir det att hämta information från en sida som har flera formulär av samma namn och med en input-text med samma namn. Alltså:

<html>
<body>
<Form Name="Hej" method="post" action="behandla.asp">
<Input Type="Text" Name="Hejsan">
(Submitknapp)
</Form>

<Form Name="Hej" method="post" action="behandla.asp">
<Input Type="Text" Name="Hejsan">
(Submitknapp)
</Form>
</body>
</html>

Blir det problem för behandla.asp om jag väljer att skriva:
Dim Tjenare
Tjenare = Request.Form("Hejsan")

Anledningen till mitt problem är att jag har ett JavaScript kopplat till ett formulär och fält av namn angivna i Scriptet. För att kunna återanvända scriptet tänkte jag att man namnger formulären och fälten med samma namn istället för att göra 10 olika JavaScriptversioner anpassade för alla formulären på sidan.

Medlem sedan maj 200591 inlägg
#2

Det ska inte vara nåt problem.

Medlem sedan juni 200032 967 inlägg
#3

Anledningen till mitt problem är att jag har ett JavaScript kopplat till ett formulär och fält av namn angivna i Scriptet. För att kunna återanvända scriptet tänkte jag att man namnger formulären och fälten med samma namn istället för att göra 10 olika JavaScriptversioner anpassade för alla formulären på sidan.

Om alla formulär och element heter samma sak, hur ska du då avgöra vilket formulär / vilka fält som javascriptet skall hantera?

Mitt förslag är att du har olika namn på dina formulär och element, samt skickar in referenser till dessa som parametrar till din enda javascriptfunktion.

Medlem sedan feb. 2004333 inlägg
#4

Det sker genom att JavaScriptet är knuten till en <input type="button"> som ligger innanför <form>-taggarna. Det handlar om Å Ä Ö-knappar som är till hjälp för dem som saknar dessa på tangentbordet. Genom att trycka på Å knappen skall Å läggas in i formuläret.

Medlem sedan juni 200032 967 inlägg
#5

Ok, inte för att jag förstår om du svarade på min fråga eller kommenterade mitt förslag, men jag får väl understryka mitt förslag ovan.

mvh

Medlem sedan feb. 2004333 inlägg
#6

Mitt förslag är att du har olika namn på dina formulär och element, samt skickar in referenser till dessa som parametrar till din enda javascriptfunktion.

Hur skulle det se ut då? Så här ser den inkluderade JavaScript-filen ut:

function kod(theform,input) {
	theform.F_Text.value += input;
	theform.F_Text.focus();
}

Så här ser <form>-taggen ut:

<form method="post" action="behandla.asp?Vad=Presentation">
  <textarea name="F_Text" cols="90" rows="20" wrap="VIRTUAL"></textarea><br>
  <input type="submit" name="Submit" value="Spara presentation"> Formatera: 
  <input type="button" value=" å " onclick="kod(this.form,'å','')">
</form>

Tanken är att man under alla formulär (många av dem på samma sida beroende på vad medlemmen vill uppdatera) skall ha å ä ö-knappar för att kunna lägga in motsvarande bokstav i formuläret.

Medlem sedan juni 200032 967 inlägg
#7

Det bör fungera som du har gjort, men om man vill ha det lite mer dynamiskt bör det räcka med en javascriptfunktion dit du skickar input-fältets ID:

function kod(id, input) {
	document.getElementById(id).value += input;
	document.getElementById(id).focus();
}

...

<textarea name="F_Text" id="F_Text" cols="90" rows="20" wrap="VIRTUAL"></textarea>

...

<input type="button" value=" å " onclick="kod('F_Text', 'å');">
Medlem sedan feb. 2004333 inlägg
#8

Nice! Det funkar überbra! Tack, det underlättar verkligen iom att jag har så många fält!

Medlem sedan juni 200032 967 inlägg
#9

Se bara till att alla fält du ska använda funktionen på verkligen har ett id, annars fungerar det bara i Internet Explorer (som använder name om inte id finns.)

Varsågod! :)

Mvh

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)