/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Anv. af forms med multipel submit
Fra : Preben Holm


Dato : 28-07-04 17:00

Hej alle

jeg laver en form med to submit knapper, der skal have hver sin funktion.

Hvordan finder jeg ud af hvilken knap, der er trykket på?



Mvh / Preben Holm

 
 
Martin Jensen (28-07-2004)
Kommentar
Fra : Martin Jensen


Dato : 28-07-04 18:54


"Preben Holm" <64bitNOnoSPAMno@mailme.dk> skrev i en meddelelse
news:4107cd87$0$35882$14726298@news.sunsite.dk...
> jeg laver en form med to submit knapper, der skal have hver sin funktion.
>
> Hvordan finder jeg ud af hvilken knap, der er trykket på?

Umidebart er det ikke muligt. Se meddelelse: 2 knapper i 1 form ==> fra d.
14/07-2004



Jonas Schmeltz Aaber~ (28-07-2004)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 28-07-04 20:42

> Umidebart er det ikke muligt. Se meddelelse: 2 knapper i 1 form ==> fra d.
> 14/07-2004

Jo, anvend JavaScript:

<input type="hidden" name="sub" value="">

<input type="submit" name="s1" value="Submit knap 1"
onClick="this.form.sub.value=this.name">

<input type="submit" name="s2" value="Submit knap 1"
onClick="this.form.sub.value=this.name">

Så kan du trække værdien ud via ASP:

<%
strSubmitKnap = Request("sub")
%>


MVH Jonas (aka Juke)



Jens Gyldenkærne Cla~ (28-07-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-07-04 21:13

Martin Jensen skrev:

> Umidebart er det ikke muligt. Se meddelelse: 2 knapper i 1
> form ==> fra d. 14/07-2004

Hm - har du selv læst tråden? Det er ganske enkelt, og kræver
hverken javascript eller noget andet specielt for at virke.

Giv submitknapperne et navn, så kan value-parameteren (teksten på
knappen) aflæses som et helt almindeligt form-request.

Se eksempel på siden her:
<http://gyros.dk/usenet/asp/2knapform.asp>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Preben Holm (28-07-2004)
Kommentar
Fra : Preben Holm


Dato : 28-07-04 21:41

>>Umidebart er det ikke muligt. Se meddelelse: 2 knapper i 1
>>form ==> fra d. 14/07-2004
>
>
> Hm - har du selv læst tråden? Det er ganske enkelt, og kræver
> hverken javascript eller noget andet specielt for at virke.
>
> Giv submitknapperne et navn, så kan value-parameteren (teksten på
> knappen) aflæses som et helt almindeligt form-request.
>
> Se eksempel på siden her:
> <http://gyros.dk/usenet/asp/2knapform.asp>

Ja, den havde jeg faktisk overvejet, men "problemet" (det pæne i
programmeringen tabes) er at det er en tre-sproget hjemmeside jeg
arbejder med, hvilket giver mig tre ting der skal testes for.

Jeg har i sin tid været så "dum" ikke at have en samlet sprogfil, men
lavet variable i hver fil for at have det så simpelt som muligt! Og det
giver rod at lave ens variable to steder - så glemmer man bare at rette
tekster to steder.

Den med javascriptet var ikke tosset, hvis bare folk har javascript
slået til.

Andre foreslag er velkomne!


Mvh / Preben Holm

Martin Hintzmann And~ (29-07-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 29-07-04 08:07

Preben Holm wrote:

>
> Ja, den havde jeg faktisk overvejet, men "problemet" (det pæne i
> programmeringen tabes) er at det er en tre-sproget hjemmeside jeg
> arbejder med, hvilket giver mig tre ting der skal testes for.
>
> Jeg har i sin tid været så "dum" ikke at have en samlet sprogfil, men
> lavet variable i hver fil for at have det så simpelt som muligt! Og det
> giver rod at lave ens variable to steder - så glemmer man bare at rette
> tekster to steder.
>
> Den med javascriptet var ikke tosset, hvis bare folk har javascript
> slået til.
>
> Andre foreslag er velkomne!
>

Giv dine submit knapper forskellige navne eksempel:

På dansk
<input type="submit" name="btnShow" value="Vis" />
<input type="submit" name="btnDelete" value="Slet" />
<input type="submit" name="btnPrint" value="Udskriv" />

På engelsk
<input type="submit" name="btnShow" value="Show" />
<input type="submit" name="btnDelete" value="Delete" />
<input type="submit" name="btnPrint" value="Print" />

Den knap som brugeren klikker på sendes med formen.

Du skal så bare kontrollere udfra navnet om der er klikket på den knap
eks.
<%
If request("btnShow") <> "" Then
   ' Vis posten
ElseIf request(btnDelete) <> "" Then
   ' Slet posten
ElseIf request(btnPrint) <> "" Then
   ' Udskriv posten
End If
%>

Den løsning gør at det er lige meget hvad der står på knappen og du er
dermed sprog uafhængig.

Håber at du kan bruge det

--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Preben Holm (29-07-2004)
Kommentar
Fra : Preben Holm


Dato : 29-07-04 08:37

Hej igen

> Giv dine submit knapper forskellige navne eksempel:
>
> På dansk
> <input type="submit" name="btnShow" value="Vis" />
> <input type="submit" name="btnDelete" value="Slet" />
> <input type="submit" name="btnPrint" value="Udskriv" />
>
> På engelsk
> <input type="submit" name="btnShow" value="Show" />
> <input type="submit" name="btnDelete" value="Delete" />
> <input type="submit" name="btnPrint" value="Print" />
>
> Den knap som brugeren klikker på sendes med formen.
>
> Du skal så bare kontrollere udfra navnet om der er klikket på den knap
> eks.
> <%
> If request("btnShow") <> "" Then
> ' Vis posten
> ElseIf request(btnDelete) <> "" Then
> ' Slet posten
> ElseIf request(btnPrint) <> "" Then
> ' Udskriv posten
> End If
> %>

Okay, mange tak for ideen - den var alligevel genial. Det havde jeg nok
brugt alt for lang tid på at finde ud af selv.


Mvh / Preben Holm

Jens Gyldenkærne Cla~ (28-07-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-07-04 21:56

Preben Holm skrev:

> Ja, den havde jeg faktisk overvejet, men "problemet" (det pæne
> i programmeringen tabes) er at det er en tre-sproget
> hjemmeside jeg arbejder med, hvilket giver mig tre ting der
> skal testes for.

Det er da ikke sværere at teste for tre ting end for to ting?


Prøv at komme med en lidt mere konkret beskrivelse af dit problem?


> Den med javascriptet var ikke tosset, hvis bare folk har
> javascript slået til.

Javascriptløsningen kan kun én ting som en ikke-scriptbaseret
løsning mangler - nemlig at have forskel på den viste værdi og den
submittede værdi. Ellers kan jeg ikke se hvorfor man vil foretrække
script-løsningen.

Sammenlign følgende to muligheder:

Javascript:
<form ...>
   <input type="hidden" name="sub" value="">
   <input type="submit" value="Submit knap 1"
       onclick="this.form.sub.value=this.name">
   <input type="submit" value="Submit knap 2"
       onclick="this.form.sub.value=this.name">
   <input type="submit" value="Submit knap 3"
       onclick="this.form.sub.value=this.name">
</form>

Ren html:
<form ...>
   <input type="submit" name="sub" value="Submit knap 1">
   <input type="submit" name="sub" value="Submit knap 2">
   <input type="submit" name="sub" value="Submit knap 3">
</form>

De to løsninger giver *præcis* samme værdier når man requester
formværdien sub (Request.Form("sub") el. Request.Querystring("sub")
) - bortset fra de tilfælde hvor javascript ikke er slået til (hvor
kun den sidste løsning virker).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Preben Holm (29-07-2004)
Kommentar
Fra : Preben Holm


Dato : 29-07-04 08:35

Hej igen

>>Ja, den havde jeg faktisk overvejet, men "problemet" (det pæne
>>i programmeringen tabes) er at det er en tre-sproget
>>hjemmeside jeg arbejder med, hvilket giver mig tre ting der
>>skal testes for.
>
>
> Det er da ikke sværere at teste for tre ting end for to ting?

Nej, men det giver rod i koden - og når jeg skal videreudvikle om et
halvt år igen, glemmer man sq at rette til flere steder. Derfor burde
jeg i sin tid have lavet en fælles sprogfil, men det er lidt sent at
begynde på det nu, da jeg har brugt fælles variabelnavne flere steder
;-( som f.eks. warning eller lign. hvilket vil gøre at jeg skal hen og
lave om endnu flere steder.


Mvh / Preben Holm

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste