Avatar billede moxtell Nybegynder
21. november 2007 - 23:25 Der 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.

Det afvikles i ASP VBscript.

:)
Morten
Avatar billede w13 Novice
21. november 2007 - 23:28 #1
Skriv lige hele form-koden her.

Har du defineret aktion="Dankort.asp" i HTML-koden, siden den vælger den uanset hvad?
Avatar billede w13 Novice
21. november 2007 - 23:30 #2
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.
Avatar billede w13 Novice
21. november 2007 - 23:31 #3
I øvrigt er language="javascript" forældet. For at koden skal være up-to-date, skal du i stedet bruge type="text/javascript".
Avatar billede w13 Novice
21. november 2007 - 23:35 #4
Du får lige en kommentar til! ;)

Altså jeg ville gøre således:
----------------------------------
<form name="Form1" target="_self">

<input type="button" value="Betal med faktura" onclick="document.Form1.setAttribute('action','faktura.asp');document.Form1.submit()">

<input type="button" value="Betal med Dankort" onclick="document.Form1.setAttribute('action','Dankort.asp');document.Form1.submit()">

</form>
Avatar billede moxtell Nybegynder
22. november 2007 - 09:14 #5
Hej w13

Tak for svar - men jeg kan stadig ikke få det til at spille.
Har ændret det nu så der øverst står:

</script>
<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>

Den fejl jeg får nu er at 'document.Form1' er null eller ikke et objekt.

/Morten
Avatar billede moxtell Nybegynder
22. november 2007 - 09:16 #6
Og iøvrigt - knapperne hedder nu:

<input type="button" value="Betal med faktura" onclick="document.Form1.setAttribute('action','Send_Tilmelding_Forbruger.asp');document.Form1.submit()">

<input type="button" value="Betal med Dankort" onclick="document.Form1.setAttribute('action','Send_Tilmelding_Forbruger_Dankort.asp');document.Form1.submit()">
Avatar billede moxtell Nybegynder
22. november 2007 - 09:20 #7
Og...

<form name="form1" method="post" id="form1">
Avatar billede moxtell Nybegynder
22. november 2007 - 09:28 #8
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&AElig;RK:
      (Forbrugermedlemsskab g&aelig;lder KUN enkeltpersoner. &Oslash;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&aring;ende og klik p&aring; 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&aelig;re forbrugermedlem af <br />
        &Oslash;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">&nbsp;</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&aelig;ves &ndash; <strong>290,- kr.</strong> p&aring; &eacute;n gang.</p></td>
        </tr>
        <tr>
          <td align="left" valign="top" class="Brod">&nbsp;</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&aelig;ves to gange om &aring;ret med 150 kr. pr. gang - i alt 300 kr. <br />
            Jeg er indforst&aring;et med at dette kr&aelig;ver, at jeg tilmelder mig PBS, n&aring;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&oslash;re opm&aelig;rksom p&aring;, 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&oslash;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&aelig;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&oslash;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&aelig;lg hvordan du &oslash;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()">

<input type="button" value="Betal med Dankort" onclick="document.Form1.setAttribute('action','Send_Tilmelding_Forbruger_Dankort.asp');document.Form1.submit()">
<span class="Brod">
<input type="Hidden" name="Session" id="Session" value="<%

Response.Write(CreateGUID)

Function CreateGUID()
  Randomize Timer
  Dim tmpTemp1,tmpTemp2,tmpTemp3
  tmpTemp1 = Right(String(15,48) & CStr(CLng(DateDiff("s","1/1/2000",Date()))), 15)
  tmpTemp2 = Right(String(5,48) & CStr(CLng(DateDiff("s","12:00:00 AM",Time()))), 5)
  tmpTemp3 = Right(String(5,48) & CStr(Int(Rnd(1) * 100000)),5)
  CreateGUID = tmpTemp1 & tmpTemp2 & tmpTemp3
End Function
%>
" />
</span></p>
        </form>
Avatar billede moxtell Nybegynder
22. november 2007 - 10:55 #9
Hey

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.

:-)
Morten
Avatar billede moxtell Nybegynder
22. november 2007 - 11:01 #10
I øvrigt - hvordan tildeler jeg dig lige de 100 points? Jeg kan ikke huske hvordan man gør?
Avatar billede w13 Novice
22. november 2007 - 12:02 #11
:P

Jeg opretter et svar her!
Avatar billede moxtell Nybegynder
22. november 2007 - 12:44 #12
Nåh - så fik du alligevel 200 points....hehe!
Avatar billede w13 Novice
22. november 2007 - 21:22 #13
Ok.. Jamen.. Tak så! =)
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