|
| knap-type Fra : Leonard |
Dato : 17-10-06 09:33 |
|
I en form har jeg en stribe knapper, som ikke skal submitte formen,
men bare ændre en enkelt værdi og reloade siden.
<form action='' method='post'>
... nogle input-felter ...
<button name='vis' value='igang' class='passiv'>Igang</button>
<input type='submit' />
</form>
hvor <button> giver en knap som gør det jeg gerne vil i FF, men i IE
sker der ikke noget ved at klikke på knappen ?
Jeg kunne også bare bruge en <input type='submit' ... /> men er det
den rigtige måde at gøre det på?
Et eksempel uden styles her:
http://162.dk/test/button.html
Det er striben med knapperne "Få vist:" hvor den første "Wakeup" er
lavet med submit og de efterfølgende er button.
--
med venlig hilsen
Leonard - http://leonard.dk/
Min nye hobby: http://oy-blu.dk/
| |
Jens Gyldenkærne Cla~ (17-10-2006)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 17-10-06 09:53 |
|
Leonard skrev:
> I en form har jeg en stribe knapper, som ikke skal submitte
> formen, men bare ændre en enkelt værdi og reloade siden.
Det er jo næsten det samme som et submit hvis formhandleren er den
aktuelle side. Hvis du reloader siden uden at submitte, bliver
ingen af formværdierne overført automatisk. Hvis du submitter, kan
du tilgå alle indtastede formværdier fra formhandleren.
> <button name='vis' value='igang'
> class='passiv'>Igang</button> <input type='submit' />
> hvor <button> giver en knap som gør det jeg gerne vil i FF,
> men i IE sker der ikke noget ved at klikke på knappen ?
Når der ikke sker noget i IE, er det måske fordi du ikke har
defineret noget i action-parameteren til form. Men på den anden
side virker submitknappen godt nok - lidt mystisk. Prøv evt. at
angive typen eksplicit: <button type="submit">. Hvis du ikke har
brug for nogen af de ekstra formateringsmuligheder som button
tilbyder, kan du også bare benytte <input type="submit">.
Vær opmærksom på at FF givetvis submitter formen når du klikker på
button (præcis som ved input type=submit). Default-typen på en
button er submit, så når du ikke angiver type, vil den opføre sig
præcis som <input type="submit">. Hvis du vil have et "rent"
reload, kan du bruge <input type="button"> eller <button
type="button"> - og så definere handlingen med javascript.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen
| |
Leonard (17-10-2006)
| Kommentar Fra : Leonard |
Dato : 17-10-06 10:27 |
|
Jens Gyldenkærne Clausen <jens@gyros.invalid> wrote:
>Prøv evt. at
>angive typen eksplicit: <button type="submit">.
Det gjorde så tricket med at reloade siden, men IE fatter ikke forskel
på hvilken værdi $_POST['vis'] skal have:
Et simplificeret eksempel:
http://162.dk/test/button.php
Ved klik på en af de 4 knapper skrives værdien af $_POST['vis']
I IE bliver den konsekvent sat til "Nej Tak!" som er teksten på den
sidste knap, mens den i FF sættes til det value='værdi' som den
enkelte knap har.
--
med venlig hilsen
Leonard - http://leonard.dk/
Min nye hobby: http://oy-blu.dk/
| |
Jens Gyldenkærne Cla~ (17-10-2006)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 17-10-06 10:35 |
|
Leonard skrev:
> http://162.dk/test/button.php
>
> Ved klik på en af de 4 knapper skrives værdien af
> $_POST['vis'] I IE bliver den konsekvent sat til "Nej Tak!"
> som er teksten på den sidste knap, mens den i FF sættes til
> det value='værdi' som den enkelte knap har.
Det virker fint i IE7 - har ikke lige en 6'er at teste i. Prøv at
bruge input i stedet for button - den er bedre understøttet.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen
| |
Leonard (17-10-2006)
| Kommentar Fra : Leonard |
Dato : 17-10-06 10:39 |
|
Jens Gyldenkærne Clausen <jens@gyros.invalid> wrote:
>Hvis du ikke har
>brug for nogen af de ekstra formateringsmuligheder som button
>tilbyder, kan du også bare benytte <input type="submit">.
På en <button> kan jeg sætte et value og en anden tekst på knappen,
det kan jeg ikke se at jeg kan på en <input>.
Selvfølgelig kunne jeg bruge samme værdi for value og tekst, men hvis
teksten så skal ændres senere, så skal jeg også til at ændre
variabelnavne i formhandlerscriptet.
--
med venlig hilsen
Leonard - http://leonard.dk/
Min nye hobby: http://oy-blu.dk/
| |
Bertel Lund Hansen (17-10-2006)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 17-10-06 11:19 |
|
Leonard skrev:
> På en <button> kan jeg sætte et value og en anden tekst på knappen,
> det kan jeg ikke se at jeg kan på en <input>.
Brug name og value. Name bestemmer variablens navn, value er den
tekst der står på knappen.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Leonard (17-10-2006)
| Kommentar Fra : Leonard |
Dato : 17-10-06 11:36 |
|
Bertel Lund Hansen <nospamfilius@lundhansen.dk> wrote:
>> På en <button> kan jeg sætte et value og en anden tekst på knappen,
>> det kan jeg ikke se at jeg kan på en <input>.
>
>Brug name og value. Name bestemmer variablens navn, value er den
>tekst der står på knappen.
Og?
name sætter netop variablens navn og value variablens værdi.
Jeg har flere knapper, der hver især skal sætte en værdi til den samme
variabel, så jeg kan detekte hvilken knap der er trykket på.
Det kan jeg lave således:
<input type='submit' name='knap' value='1'>
<input type='submit' name='knap' value='2'>
så får jeg 2 knapper med teksten 1 og 2, det giver mig en variabel der
hedder knap som har værdien 1 eller 2 alt efter hvilken knap der er
trykket på. Og det er jo fint nok, men hvis jeg senere vil lave
teksten på knapperne om til A og B, så skal jeg også til at lave mit
script om, som behandler inputtet.
--
med venlig hilsen
Leonard - http://leonard.dk/
Min nye hobby: http://oy-blu.dk/
| |
Bertel Lund Hansen (17-10-2006)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 17-10-06 12:25 |
|
Leonard skrev:
> trykket på. Og det er jo fint nok, men hvis jeg senere vil lave
> teksten på knapperne om til A og B, så skal jeg også til at lave mit
> script om, som behandler inputtet.
Sådan noget laver jeg med et array først i scriptet (eks. PHP):
$buttontext=aray ('1', '2', '3', '4');
....
foreach ($buttontext as $butxt) {
echo "<input type='submit' name='knap' value='$butxt'>";
}
osv.
Evt. kan definitionen afknapteksten trækkes ud i en includefil
hvis der skal refereres til den fra forskellige filer.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Leonard (17-10-2006)
| Kommentar Fra : Leonard |
Dato : 17-10-06 12:42 |
|
Bertel Lund Hansen <nospamfilius@lundhansen.dk> wrote:
>Sådan noget laver jeg med et array først i scriptet (eks. PHP):
Det ændrer jo ikke på at du ikke kan have en anden tekst på en
inputknap end det der står i value, mens du med en button kan have
forskel på teksten og value.
--
med venlig hilsen
Leonard - http://leonard.dk/
Min nye hobby: http://oy-blu.dk/
| |
Jens Gyldenkærne Cla~ (17-10-2006)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 17-10-06 10:59 |
|
Leonard skrev:
> På en <button> kan jeg sætte et value og en anden tekst på
> knappen, det kan jeg ikke se at jeg kan på en <input>.
Det har du ret i.
> Selvfølgelig kunne jeg bruge samme værdi for value og tekst,
> men hvis teksten så skal ændres senere, så skal jeg også til
> at ændre variabelnavne i formhandlerscriptet.
Jeg bruger på visse sider en løsning hvor formhandleren kun kigger
på det første ord eller evt. de første x tegn (sat i lowercase) fra
inputknapperne. Det er ikke så fleksibelt som muligheden med
button, men det giver trods alt størrre frihed end en rå løsning
hvor man tjekker på det fulde navn.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen
| |
Jens Gyldenkærne Cla~ (17-10-2006)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 17-10-06 12:47 |
|
Leonard skrev:
>> Sådan noget laver jeg med et array først i scriptet (eks.
>> PHP):
>
> Det ændrer jo ikke på at du ikke kan have en anden tekst på en
> inputknap end det der står i value, mens du med en button kan
> have forskel på teksten og value.
Det er korrekt. Men ved at definere teksterne et samlet sted, kan
man sørge for at der er overensstemmelse mellem de viste værdier og
de værdier der testes på ved submit.
I et større system kan man lægge værdierne ind i en database - her
kan man så også koble handlinger, forklaringer og relationer til
andre værdier på.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen
| |
Lasse Reichstein Nie~ (18-10-2006)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 18-10-06 01:27 |
|
Leonard <usenet@leonard.dk.invalid> writes:
> <input type='submit' name='knap' value='1'>
> <input type='submit' name='knap' value='2'>
>
> så får jeg 2 knapper med teksten 1 og 2, det giver mig en variabel der
> hedder knap som har værdien 1 eller 2 alt efter hvilken knap der er
> trykket på. Og det er jo fint nok, men hvis jeg senere vil lave
> teksten på knapperne om til A og B, så skal jeg også til at lave mit
> script om, som behandler inputtet.
Et alternativ er at lade navnene variere, og så være ligeglad med
værdien. Altså:
<input type='submit' name='key1' value='Query'>
<input type='submit' name='key2' value='Search'>
og så spørge på serveren om "key1" eller "key2" er defineret.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
|
|