Avatar billede tornado Nybegynder
26. september 2000 - 09:02 Der er 11 kommentarer og
2 løsninger

Flere action destinationer i én <FORM>

Hej

Er det muligt at have flere actions i en enkelt <FORM>?

Eksempel:

<FORM ACTION=\"test.asp\">
  <INPUT TYPE=\"hidden\" NAME=\"data1\" VALUE=\"733\">
  <INPUT TYPE=\"text\" NAME=\"data2\" VALUE=\"skriv noget\">
  <INPUT TYPE=\"submit\" NAME=\"spark\" VALUE=\"Spark mig\">
  <INPUT TYPE=\"submit\" NAME=\"slaa\" VALUE=\"Slaa mig\">
</FORM>

Det jeg vil have her, er at når der klikkes på \"Spark mig\"-knappen, skal den kalde en eller anden fil (f.eks. test_spark.asp) og når der klikkes på den anden knap \"Slaa mig\", skal den kalde test_slaa.asp - men begge skal kunne bruge \'data1\' og \'data2\' felt.

Nogen ideer?
Avatar billede sone Nybegynder
26. september 2000 - 09:10 #1
Hvis det skal virke, så skal du bruge noget JacaScript - enten skal du have 2 FORMS og kopiere data fra FORM1 til FORM2 eller lave en OnSubmit som ændrer ACTION på formen.
Avatar billede tigerdyr Nybegynder
26. september 2000 - 09:15 #2
<INPUT TYPE=\"Button\" NAME=\"spark\" VALUE=\"Spark mig\"OnClick=\"JavaScriptFunktion1()\">
  <INPUT TYPE=\"Button\" NAME=\"slaa\" VALUE=\"Slaa mig\" OnClick=\"JavaScriptFunktion()2\">
For nu at udbygge sone\'s (eller korrekte) svar :o)
Avatar billede tigerdyr Nybegynder
26. september 2000 - 09:16 #3
hmm, ion2()... selvfølgelig, IKKE ion()2...
Med to almindelige buttons og ingen action i form tagget, laver du blot de to JS funktioner der smider data til den korrekte side!
Avatar billede tigerdyr Nybegynder
26. september 2000 - 09:18 #4
Eneste eksempel jeg lige kan finde på det er følgende:
<SCRIPT LANGUAGE=javascript>
<!--
function Logout()
{
  top.location.replace (\"logout.asp\");
};
//-->
</SCRIPT>

Og i formen er der så ingen submit men den her:
<INPUT TYPE=\"button\" NAME=\"Logout\" VALUE=\"Log ud\" OnClick=\"Logout()\">
Avatar billede tigerdyr Nybegynder
26. september 2000 - 09:18 #5
Dvs. hvis du bare har Method=\"Post\" i dit form tag, og bruger request.form på den sidde du vil hen til, får du alle dine data med...
Avatar billede jette Nybegynder
26. september 2000 - 09:28 #6
Jeg har haft behov for noget lignende.
Man kan opbygge et almindeligt link og en OnClick-event på samme knap.

Men du kan evt. nøjes med at kalde et link, som kalder det næste link ved Window_OnLoad-event....
Avatar billede stoffer Nybegynder
26. september 2000 - 09:32 #7
DU kan åbne en ny side, og derefter submitte til den side (og flere andre sider!)

jeg har lavet et eksempel her:

http://www.unibank.dk/sitemod/moduler/unibank_dk/rejse/personlig_valutafolder/index.asp?pid=17437
Avatar billede jschroll Nybegynder
26. september 2000 - 09:39 #8

Jeg plejer at lave to submitknapper:

--------------------filen.asp-----------
<%
if request(\"knap1\")=\"trykket\" then response.write \"knap 1\"
if request(\"knap2\")=\"trykket\" then response.write \"knap 2\"

%>
<form action=filen.asp method=post>
<input type=submit name=knap1 value=trykket>
<input type=submit name=knap2 value=trykket>
</form>
----------------------end--------------------


Nu ved du hvilken knap der er blevet trykket. Du redirecte videre. Hvis du så vil have dine input felter med kan du lave en for each el in request.form.... next



Avatar billede geeeet Nybegynder
26. september 2000 - 09:40 #9
Du kan sætte en ny action på din form med javascript som det bliver forklaret:

<script language=\"javascript\">
funktion JavaScriptFunktion1(){
document.formnavn.action = \"side1.asp\";
document.formnavn.submit();
}

funktion JavaScriptFunktion2(){
document.formnavn.action = \"side2.asp\";
document.formnavn.submit();
}
</script>


<INPUT TYPE=\"Button\" NAME=\"spark\" VALUE=\"Spark mig\"OnClick=\"JavaScriptFunktion1()\">
<INPUT TYPE=\"Button\" NAME=\"slaa\" VALUE=\"Slaa mig\" OnClick=\"JavaScriptFunktion()2\">

for at fortsætte tigerdyrs rigtige svar...

/Geeeet
Avatar billede tornado Nybegynder
26. september 2000 - 11:14 #10
Okay, det virker - næsten altid..

Den kommer nogle gange og siger: \"Objektet understøtter ikke denne egenskab eller metode\", og linien der er tale om er:

    document.varekat.submit();

Jeg har checket om der er æøå i teksten etc, og sikret mig at der ikke er.

Men som også nævnt, andre steder kører det fint..


(Point uddeles snart - har også sat point op :)
Avatar billede tornado Nybegynder
26. september 2000 - 11:25 #11
Uhm, okay - jeg tog fejl - jeg havde ikke lige checket ALT for æøå, og det er problemet.

Kan man komme uden om det problem? Den læser felterne fra databasen og ind i <FORM>, og de bliver også til en anden side igennem det.

Databasen indeholder en MASSE danske tegn, så det skal virke.. :)
Avatar billede geeeet Nybegynder
26. september 2000 - 11:27 #12
Så må du køre dem igennem en funktion som erstatter alle specialtegn...

noget med replace....

/Geeeet
Avatar billede tornado Nybegynder
26. september 2000 - 11:40 #13
Øv, havde håbet at der var en workaround, så man ikke var nødt til replace inden de bliver sendt afsted, og på den anden side replaces tilbage til det rigtige.
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
Kurser inden for grundlæggende programmering

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