|
| Default-knap i form Fra : Thomas Lindgaard |
Dato : 03-12-01 16:45 |
|
Davs
Jeg har en form, som skal submittes til noget PHP-halløj. Submit-knappen kan
vi f.eks. udstyre med en name-attribut <input type="submit"
name="knap_og_nap">, og så kan man i sin kode lave et check ved en
if-sætning som denne:
if ( isSet($knap_og_nap) ) echo "jubii -- der var en der trykkede på mig
:)";
Men hvad gør man, når den dumme bruger ikke trykker på knappen, men bare
taster <enter> -- så bliver formen osse submittet, men $knap_og_nap har
ingen værdi...? Kan man definere noget default-halløj, så navnet på
"default-knappen" føres med over, selvom der ikke blev trykket på den?
/Thomas
| |
Henrik Hansen (03-12-2001)
| Kommentar Fra : Henrik Hansen |
Dato : 03-12-01 16:52 |
|
"Thomas Lindgaard" <thomas@dnspilot.com> wrote:
> Davs
>
> Jeg har en form, som skal submittes til noget PHP-halløj. Submit-knappen kan
> vi f.eks. udstyre med en name-attribut <input type="submit"
> name="knap_og_nap">, og så kan man i sin kode lave et check ved en
> if-sætning som denne:
>
> if ( isSet($knap_og_nap) ) echo "jubii -- der var en der trykkede på mig
> :)";
>
> Men hvad gør man, når den dumme bruger ikke trykker på knappen, men bare
> taster <enter> -- så bliver formen osse submittet, men $knap_og_nap har
> ingen værdi...? Kan man definere noget default-halløj, så navnet på
> "default-knappen" føres med over, selvom der ikke blev trykket på den?
man kunne jo tjekke på om de submittede felter indeholdt noget?
--
Henrik Hansen
| |
Thomas Lindgaard (03-12-2001)
| Kommentar Fra : Thomas Lindgaard |
Dato : 03-12-01 17:04 |
|
> man kunne jo tjekke på om de submittede felter indeholdt noget?
Jow jow - men det er jo ikke nok, hvis man har flere submit-knapper i samme
form... jeg har brug for at kunne skelne mellem knapperne.
/Thomas
| |
Stefan Uldum Grinste~ (03-12-2001)
| Kommentar Fra : Stefan Uldum Grinste~ |
Dato : 03-12-01 17:28 |
|
"Thomas Lindgaard" <thomas@dnspilot.com> wrote in message
news:9ug7k3$1ul9$1@news.cybercity.dk...
> > man kunne jo tjekke på om de submittede felter indeholdt noget?
>
> Jow jow - men det er jo ikke nok, hvis man har flere submit-knapper i
samme
> form... jeg har brug for at kunne skelne mellem knapperne.
Lav en <form> for hver Submit-knap... evt. med en skjult værdi til at skelne
mellem de forskellige forms.
Hilsen Stefan
| |
Thomas Lindgaard (03-12-2001)
| Kommentar Fra : Thomas Lindgaard |
Dato : 03-12-01 17:40 |
|
> Lav en <form> for hver Submit-knap... evt. med en skjult værdi til at
skelne
> mellem de forskellige forms.
Dur heller ikke - jeg kan ikke skille formen ad i flere små stykker. Jeg har
brug for noget der siger følgende:
onkeydown() {
if (key == <return>) {
submit form as if the user clicked the default submit button
}
}
Jeg skal gøre noget forskelligt ved form-inputtet alt efter hvilken knap der
bliver trykket på...
/Thomas
| |
Jakob Færch (03-12-2001)
| Kommentar Fra : Jakob Færch |
Dato : 03-12-01 20:21 |
|
> Jeg skal gøre noget forskelligt ved form-inputtet alt efter hvilken knap der
> bliver trykket på...
Jeg forstår det stadig ikke helt. Jeg er med så langt, at der er tre
knapper. Du skal reagere forskelligt, alt efter hvilken knap der er
trykket på. Hvis brugeren trykker enter, skal du reagere, som om han
havde trykket på knap 2.
Hvis du får en knap-værdi, er der ingen ko på isen.
Hvis du får data, men ikke en knapværdi, må brugeren jo på en eller
anden måde have submittet data - fx ved at trykke enter. Så reagerer du
bare, som om han havde trykket på knap 2.
Du'r det ikke?
/Jakob
| |
Martin Mouritzen (03-12-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 03-12-01 17:37 |
|
After I finished the 3 Pan Galactic Gargle Blasters, "Thomas
Lindgaard" <thomas@dnspilot.com> just offered me, he muttered some
weird stuff, and I had to correct this gibberish:
>Jow jow - men det er jo ikke nok, hvis man har flere submit-knapper i samme
>form... jeg har brug for at kunne skelne mellem knapperne.
Hvis han så trykker enter... Så er ingen af knapperne trykket på. Det
er jo fair nok. Der er intet at skælne imellem. Så må du selv beslutte
hvad der skal ske pr. default.
--
Martin Mouritzen.
The truth is out there! Does anyone know the URL?
| |
Martin Mouritzen (03-12-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 03-12-01 17:40 |
|
After I finished the 3 Pan Galactic Gargle Blasters, Martin Mouritzen
<martin@fez.dk> just offered me, he muttered some weird stuff, and I
had to correct this gibberish:
>Hvis han så trykker enter... Så er ingen af knapperne trykket på. Det
>er jo fair nok. Der er intet at skælne imellem. Så må du selv beslutte
>hvad der skal ske pr. default.
uddybbelse
if ((!$knap1 && !$knap2 && !$knap3) || $knap2) {
// Brugeren trykkede ikke på nogle knapper
// ELLER brugeren trykkede på knap2. (dvs. knap 2 er default).
} else if ($knap1) {
} else if ($knap3) {
} else {
// Okay, something went terribly wrong :P
}
--
Martin Mouritzen.
The truth is out there! Does anyone know the URL?
| |
Thomas Lindgaard (03-12-2001)
| Kommentar Fra : Thomas Lindgaard |
Dato : 03-12-01 23:11 |
|
aaaahhhh - okaj :)
Jeg var lige ved at sende en "Nej, hør nu efter hvad jeg siger" mail, for at
fortælle jer, at I ikke havde fattet et klap, men så gik der et lys op for
mig (lille pære, 15 watt - men dog et lys).
Det er jo let nok.
Mit problem er pt., at jeg i mit script går ind i if-sætninger, hvis en
given variabel (svarende til en given knap) er sat - dvs. jeg går ikke ind i
nogen if-sætninger, hvis brugeren trykker <return> og dermed _ikke_ får sat
værdien af den knap. Resultat... intet!
.... men jeg skal jo bare sige:
if (!isSet(nogen af knapperne)) $default_knap = "hejsa";
.... og så vil scriptet opføre sig, somom der var blevet trykket, og alle er
glade :)
Jeg takker ydmygst (hvis man kan sige det)
/Thomas
PS.
Jakob kan du ikke lige sige til dengamle, at han bare har at komme til
julefrokost den 14., ellers vanker der!
| |
|
|