Avatar billede bombur Nybegynder
14. april 2006 - 18:00 Der er 6 kommentarer og
1 løsning

Flere submit knapper i en form

Hej

Jeg har ret omfattende formfelt, hvor der er flere submitknapper.
Problemet er at alt efter hvilken knap man trykker på skal "action" på form'en være forskellig.

Hvordan gør jeg det?

På forhånd tak
Rune
Avatar billede thesurfer Nybegynder
14. april 2006 - 18:30 #1
Eksempel:

<script type="text/JavaScript" language="JavaScript">
function skiftaction(nummer)
{
f = document.minform;
if (nummer == 1) f.action = "side1.htm";
if (nummer == 2) f.action = "side2.htm";
if (nummer == 3) f.action = "side3.htm";
f.submit(); //sikkert overflødig
}
</script>

<form name="minform"...>
...
<input type="submit" value="submit nr 1" onclick="skiftaction(1)">
...
<input type="submit" value="submit nr 2" onclick="skiftaction(2)">
...
<input type="submit" value="submit nr 3" onclick="skiftaction(3)">
</form>


"..." = bla bla bla = noget her :-)

/theSurfer
Avatar billede thesurfer Nybegynder
14. april 2006 - 19:03 #2
- Svar.

/theSurfer
Avatar billede bombur Nybegynder
14. april 2006 - 19:11 #3
Jeg tjekker lige om det funger lidt senere. Tak for det hurtige svar :)
Avatar billede bombur Nybegynder
14. april 2006 - 20:21 #4
Tak for det. Tænkt det kunne gøres så enkelt. :)
Avatar billede roenving Novice
15. april 2006 - 13:51 #5
-- og jeg ville lave det endnu mere simpelt:

<form action="defaultAction">

...

<input type="submit" value="action1" onclick="this.form.action='denFoersteAction'">
<input type="submit" value="action2" onclick="this.form.action='denAndenAction'">
<input type="submit" value="action3" onclick="this.form.action='denTredjeAction'">
</form>

-- alternativt ville jeg have medtaget selve elementet i kaldet, og brugt kortformer:

<input type="submit" value="action1" onclick="setAction(this,1);">

<script type="text/javascript">
//mulighed 1
var acts = ["denFoersteAction","denAndenAction","denTredjeAction"];
function setAction(elm,num){
elm.form.action = acts[num-1];
}

//mulighed 2
function setAction(elm,num){
  elm.frm.action = num==1 ? "denFoersteAction" : num==2 ? "denAndenAction" : "denTredjeAction";
}
</script>

-- men da strandløvens jo fungerer ganske udmærket, er det jo ikke en grund til at lave det om, at jeg har nogle programmeringsmæssige ideer til optimering !-)
Avatar billede roenving Novice
15. april 2006 - 13:52 #6
Ufff, der forsvandt et o:

  elm.form.action = num==1 ? "denFoersteAction" : num==2 ? "denAndenAction" : "denTredjeAction";
Avatar billede thesurfer Nybegynder
15. april 2006 - 16:07 #7
Jeg overvejede faktisk at sende elementet med, men ville bruge KISS-metoden.. :-)
Jo færre parametere, jo nemmere er det at forstå det.. :-)

/theSurfer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester