21. november 2007 - 23:25Der er
12 kommentarer og 1 løsning
To buttons i samme form
Hej
Der er blevet svaret på dett espørgsmål før, men jeg har ikke kunne bruge svarne til noget indtil videre.
Jeg har en side - formular.asp med en formular - til sidst skal man vælge om man vil betale med Dankort eller med faktura. Her vil jeg gerne have to knapper - en med faktura betaling som går til faktura.asp og en med dankort betaling som går til dankort.asp. På både faktura.asp og dankort.asp ligger scripts som via Jmail sender oplysningerne fra formularen til modtager. På Dankort popper desuden betalingsvinude op til Dankort. Det vil sige jeg vil gerne have at alle oplysningerne på formular.asp bringes videre til de to andre sider afhængig af hvilken knap man trykker på. Det virker fint hvis jeg bare laver en almindelig POST af formularen med en enklet knap, men jeg får problemer med to knapper.
Jeg forsøgte med følgende script på formular.asp:
I Headeren: <script language="Javascript"> <!-- function OnButton1() { document.Form1.action = "faktura.asp" document.Form1.target = "_self"; // Open in a new window document.Form1.submit(); // Submit the page return true; }
function OnButton2() { document.Form1.action = "Dankort.asp" document.Form1.target = "_self"; // Open in a new window document.Form1.submit(); // Submit the page return true; } --> </script>
Knappperne i formen: <INPUT type="button" value="Betal med faktura" name=button1 onclick="return OnButton1();"> <input type="button" value="Betal med Dankort" name=button2 onclick="return OnButton2();" />
Men det virker ikke - jeg kommer kun til Dankort lige gyldig hvilken knap jeg trykker på.
Nogen forslag? Hvis Javascript så må du gerne både skrive javascriptet til HEAD og det der skal stå i formen.
Du kan i øvrigt fjerne "return" i de 2 onclick og "return true" inde i funktionerne. De gør ingen nytte her, når det ikke er en knap med type="submit" som kører funktionen. I øvrigt kan du lægge target="_self" direkte på <form>-tag'et, så det ikke skal gøres i funktionerne.
Hey - fandt ud af at det var fordi jeg havde kaldt formen for form1 og ikke Form1 - men den viser stadig hen til dankort siden uanset hvilken knap jeg trykker på....mystisk...
Her er hele form-koden:
<form name="Form1" method="post" id="Form1"> <label><span class="Rubrik1">TILMELDINGSFORMULAR</span><span class="Brod"><strong><br /> <span class="style3">BEMÆRK: (Forbrugermedlemsskab gælder KUN enkeltpersoner. Ønsker du at tegne medlemsskab som landmand (<a href="/Landmand/Bliv_medlem/Default.asp">klik her</a>) eller virksomhed (<a href="/Virksomhed/Bliv_medlem/Default.asp">klik her</a>).</span></strong></span><span class="Rubrik1 style3"><br /> </span><br /> <span class="Brod"><em> - udfyld nedenstående og klik på Send knappen.</em> Felter markeret med * SKAL udfyldes.</span></label> <hr size="1" noshade="noshade" /> <label><span class="Mellemrubrik">JA TAK - jeg vil gerne være forbrugermedlem af <br /> Økologisk Landsforening</span><span class="Brod"><br /> <br /> </span></label> <table width="364" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="30" colspan="3" align="left" valign="top"><table width="358" height="33" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="28" height="30" align="left" valign="top"><label> <input name="Medlem" type="checkbox" id="Medlem" value="Jatak!" checked="checked" /> </label></td> <td width="330" align="left" valign="top" class="Brod">I 2008 for 280 kr.*</td> </tr>
</table></td> </tr> <tr> <td width="36" align="left" valign="top"> </td> <td width="36" height="30" align="left" valign="top"><input type="radio" name="radio" id="radio" value="29000" /></td> <td width="369" align="left" valign="top" class="Brod"><p>Jeg vil gerne opkræves – <strong>290,- kr.</strong> på én gang.</p></td> </tr> <tr> <td align="left" valign="top" class="Brod"> </td> <td height="40" align="left" valign="top" class="Brod"><input type="radio" name="radio" id="radio3" value="15000" /></td> <td align="left" valign="top" class="Brod">Jeg vil gerne opkræves to gange om året med 150 kr. pr. gang - i alt 300 kr. <br /> Jeg er indforstået med at dette kræver, at jeg tilmelder mig PBS, når jeg har modtaget mit medlemsnummer.</td> </tr> </table> <br /> <p>Du kan til enhver tid opsige dit medlemskab af foreningen. Vi skal dog gøre opmærksom på, at der ikke funderes allerede indbetalt kontingent.</p> <hr size="1" noshade="noshade" /> <table width="369" height="151" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="25" colspan="2" class="Brod"><strong>Hvor har du hørt om tilbuddet: </strong></td> </tr> <tr> <td width="37" height="21" align="left" valign="top" class="Brod"><label> <input name="checkbox2" type="checkbox" id="checkbox2" value="Ja" /> </label></td> <td width="332" align="left" valign="top" class="Brod"> Mælkekartoner</td> </tr> <tr> <td height="22" align="left" valign="top" class="Brod"><input name="checkbox3" type="checkbox" id="checkbox3" value="Ja" /></td> <td align="left" valign="top" class="Brod">Aarstidernes grøntsagskasse</td> </tr> <tr> <td height="61" align="left" valign="top" class="Brod"><input name="checkbox4" type="checkbox" id="checkbox4" value="Ja" /></td> <td align="left" valign="top" class="Brod">Andre abonnementsordninger <br /> Hvis ja - hvilke:<br /> <input name="textfield2" type="text" id="textfield2" size="30" /></td> </tr> <tr> <td height="22" align="left" valign="top" class="Brod"><input name="checkbox5" type="checkbox" id="checkbox5" value="Ja" /></td> <td align="left" valign="top" class="Brod">Andet - evt. hvilket: <label> <input name="textfield" type="text" id="textfield" size="30" /> </label></td> </tr> </table> <hr size="1" noshade="noshade" /> <p class="Mellemrubrik">Adresseoplysninger:</p> * Fornavn og efternavn(e) <br /> <label> <input name="Navn" type="text" id="Navn" size="50" /> </label> <br /> * Adresse (vejnavn, husnr., etage, side o.s.v.)<br /> <input name="Adresse" type="text" id="Adresse" size="60" /> <br /> * Postnummer<br /> <input name="Postnr" type="text" id="Postnr" size="20" /> <br /> * By:<br /> <input name="Bynavn" type="text" id="Bynavn" size="50" /> <br /> Tlf.<br /> <input name="Telefon" type="text" id="Telefon" size="50" /> <br /> Mobil:<br /> <input name="Mobil" type="text" id="Mobil" size="50" /> <br /> E-mail:<br /> <input name="Epost" type="text" id="Epost" /> <br /> Evt. kommentar/note<br /> <textarea name="Kommentar" cols="50" rows="10" class="Brod" id="Kommentar"></textarea> </p> <hr size="1" noshade="noshade" /> <p class="Mellemrubrik"><strong>Vælg hvordan du ønsker at betale</strong> <label></label> </p> <p><!-- Knapper --> <input type="button" value="Betal med faktura" onclick="document.Form1.setAttribute('action','Send_Tilmelding_Forbruger.asp');document.Form1.submit()">
Nu har jeg løst problemet. Jeg store klaptorsk havde glemt jeg havde lavet et response.redirect på siden med faktura så den førte det over til dankortsiden. Derfor endte jeg altid der. Nu virker det.
Jeg endte op med følgende:
<script type="text/javascript"> <!-- function OnButton1() { document.Form1.action = "Send_Tilmelding_Forbruger.asp" document.Form1.submit(); // Submit the page }
function OnButton2() { document.Form1.action = "Send_Tilmelding_Forbruger_Dankort.asp" document.Form1.submit(); // Submit the page } --> </script>
Og så:
<input type="button" value="Betal med faktura" onclick="return OnButton1();">
<input type="button" value="Betal med Dankort" onclick="return OnButton2();">
MEN jeg er ikke fedtet - w13 - er det OK du får 100 point for din hjælp? Mange tak fordi du tog dig tid til at svare mig.
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.