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>
Annonceindlæg fra GlobalConnect
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...)
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.
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>
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)
04. februar 2008 - 21:11
#5
Hm, den med this.form på andet end form-elementer var lige svedt ud. =/
05. februar 2008 - 09:23
#6
Kanon. Tusind tak. Den sidste gjorde det for mig ;)
24. april 2008 - 12:08
#7
Lukketid?
24. april 2008 - 12:16
#8
Ja
24. april 2008 - 12:19
#9
Fik du Oleboles kode til at virke? Så skal vi lige ha' et svar fra ham..
24. april 2008 - 12:44
#10
Det var Ole's jeg benyttede
28. april 2008 - 15:44
#11
Ole? :)
Vi tilbyder markedets bedste kurser inden for webudvikling