Avatar billede borupborup Nybegynder
04. februar 2008 - 15:31 Der er 11 kommentarer

Submit form med flere valgmuligheder

Jeg prøver på nedestående.

Hvorfor kan jeg ikke for den til at se forskel på de 2 klik??


<form name="myForm2" method="POST" action="Send_order.asp">

<a href="#" onClick="document.myForm2.submit();">Slet markeret</a>
<a href="#" onClick="document.myForm2.submit();">Bestil markeret</a>
Avatar billede pidgeot Nybegynder
04. februar 2008 - 15:35 #1
Fordi et link ikke er en submit-knap. Du bliver nødt til at sætte en værdi på en eller anden måde i det du submitter, som du så kan referere til i din backend-kode (efter min mening er det dog bedre at bruge egentlige knapper, men jeg foretrækker så også at undgå Javascript hvor muligt...)
Avatar billede w13 Novice
04. februar 2008 - 15:47 #2
Hvordan skulle den kunne se, hvad du har trykket på? Det kan dog gøre sådan her:
-----------------------------------------------------------
<form method="post" action="">

<a href="#" onClick="this.form.setAttribute('action','Send_order.asp?mode=delete');this.form.submit()">Slet markeret</a>
<a href="#" onClick="this.form.setAttribute('action','Send_order.asp?mode=order');this.form.submit()">Bestil markeret</a>

</form>
-----------------------------------------------------------
Så kan du modtage værdien med Request.Querystring("mode") i ASP.
Avatar billede olebole Juniormester
04. februar 2008 - 20:33 #3
<ole>

Kun form-kontrol elementer kan referere til formen med this.form - og det er et a-element ikke.

<script type="text/JavaScript">
function setAction(sFormName, sAction) {
    var oForm = document.getElementsByName(sFormName)[0];
    oForm.setAttribute("action", sAction);
    oForm.submit();
}
</script>

<form name="myForm2" method="post" action="">

<a href="#" onClick="setAction('myForm2','Send_order.asp?mode=delete');return false">Slet markeret</a>
<a href="#" onClick="setAction('myForm2','Send_order.asp?mode=order');return false">Bestil markeret</a>

</form>

/mvh
</bole>
Avatar billede olebole Juniormester
04. februar 2008 - 20:37 #4
- og en betydeligt mindre rodet version (hvor vi ikke blander post- og get-variabler sammen) er:

<script type="text/JavaScript">
function setAction(sFormName, sMode) {
    var oForm = document.getElementsByName(sFormName)[0];
    var oMode = document.getElementsByName("mode")[0];
    oMode.setAttribute("value", sMode);
    oForm.submit();
}
</script>

<form name="myForm2" method="post" action="Send_order.asp">
<input type="hidden" name="mode">

<a href="#" onClick="setAction('myForm2','delete');return false">Slet markeret</a>
<a href="#" onClick="setAction('myForm2','order');return false">Bestil markeret</a>

</form>

Så findes alle dine variabler som post-variabler på serveren  ;o)
Avatar billede w13 Novice
04. februar 2008 - 21:11 #5
Hm, den med this.form på andet end form-elementer var lige svedt ud. =/
Avatar billede borupborup Nybegynder
05. februar 2008 - 09:23 #6
Kanon.

Tusind tak.
Den sidste gjorde det for mig ;)
Avatar billede w13 Novice
24. april 2008 - 12:08 #7
Lukketid?
Avatar billede borupborup Nybegynder
24. april 2008 - 12:16 #8
Ja
Avatar billede w13 Novice
24. april 2008 - 12:19 #9
Fik du Oleboles kode til at virke?
Så skal vi lige ha' et svar fra ham..
Avatar billede borupborup Nybegynder
24. april 2008 - 12:44 #10
Det var Ole's jeg benyttede
Avatar billede w13 Novice
28. april 2008 - 15:44 #11
Ole? :)
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