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

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
Formular skal ikke reagere på Enter
Fra : Kim Ludvigsen


Dato : 04-12-03 01:16

Hvordan undgår jeg, at en formular sendes, når der trykkes på Enter? Den
skal først sendes, når der klikkes på send-knappen.

--
Mvh. Kim Ludvigsen

 
 
Bertel Lund Hansen (04-12-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-03 01:18

Kim Ludvigsen skrev:

>Hvordan undgår jeg, at en formular sendes, når der trykkes på Enter? Den
>skal først sendes, når der klikkes på send-knappen.

Den slags er til dyb irritation. Jeg bander *hver* gang jeg
bruger min netbank - og især da når jeg glemmer det og trykker
Enter alligevel. Så slettes indholdet i boksene.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 01:26

Bertel Lund Hansen wrote:
>
> Kim Ludvigsen skrev:
>
> >Hvordan undgår jeg, at en formular sendes, når der trykkes på Enter? Den
> >skal først sendes, når der klikkes på send-knappen.
>
> Den slags er til dyb irritation. Jeg bander *hver* gang jeg
> bruger min netbank - og især da når jeg glemmer det og trykker
> Enter alligevel. Så slettes indholdet i boksene.

Det er lige så irriterende for dem, der skal modtage beskeden, fordi man
risikerer at få den selvom kun halvdelen af felterne er udfyldt. Men det
må da kunne undgås med en eller anden kode?

--
Mvh. Kim Ludvigsen

Bertel Lund Hansen (04-12-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-03 01:38

Kim Ludvigsen skrev:

>Det er lige så irriterende for dem, der skal modtage beskeden, fordi man
>risikerer at få den selvom kun halvdelen af felterne er udfyldt. Men det
>må da kunne undgås med en eller anden kode?

Hvis du f.eks. PHP-koder, kan du tjekke at der ikke er tomme
felter - du ved, som de steder hvor der er stjerner hvor man ikke
kan sende før de er udfyldt.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 07:29

Bertel Lund Hansen wrote:
>
> Kim Ludvigsen skrev:
>
> >Det er lige så irriterende for dem, der skal modtage beskeden, fordi man
> >risikerer at få den selvom kun halvdelen af felterne er udfyldt. Men det
> >må da kunne undgås med en eller anden kode?
>
> Hvis du f.eks. PHP-koder, kan du tjekke at der ikke er tomme
> felter - du ved, som de steder hvor der er stjerner hvor man ikke
> kan sende før de er udfyldt.

Den går desværre ikke, da man ikke behøver udfylde alle felter.

--
Mvh. Kim Ludvigsen

Bertel Lund Hansen (04-12-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-03 08:04

Kim Ludvigsen skrev:

>> Hvis du f.eks. PHP-koder, kan du tjekke at der ikke er tomme
>> felter - du ved, som de steder hvor der er stjerner hvor man ikke
>> kan sende før de er udfyldt.

>Den går desværre ikke, da man ikke behøver udfylde alle felter.

Du misforstår. Stjernerne er ikke magiske, og PHP-koden bestemmer
hvad der skal ske. Et næsten færdigt eksempel ligger nu i bunden
af Fidusos indmeldelsesside (virker delvis, men sender ikke
noget). Koden er simpel og jeg kan hjælpe dig med den (når jeg
lige selv har fået et par svar).

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 08:36

Bertel Lund Hansen wrote:
>
> Kim Ludvigsen skrev:
>
> >> Hvis du f.eks. PHP-koder, kan du tjekke at der ikke er tomme
> >> felter - du ved, som de steder hvor der er stjerner hvor man ikke
> >> kan sende før de er udfyldt.
>
> >Den går desværre ikke, da man ikke behøver udfylde alle felter.
>
> Du misforstår. Stjernerne er ikke magiske, og PHP-koden bestemmer
> hvad der skal ske.

Jeg tror, det er dig, der misforstår (hvilket du måske allerede har
opdaget efter at have besøgt siden). Brugeren bestemmer selv, hvilke
felter han vil udfylde. Der er ingen stjernefelter, han kan for eksempel
nøjes med at udfylde navn og telefonnummer eller e-mail og besked. Jeg
kan ikke vide, hvornår han er færdig med at udfylde de felter, der skal
udfyldes, og kan derfor ikke vide, om han er færdig eller ej, når han
trykker på enter.

Hvordan virker siden/sitet forøvrigt i Opera? Jeg har lavet en nødside
for gamle browsere og en speciel css-fil til IE 5.5 (de ligger på det
rigtige site), men jeg må erkende, at jeg ikke har forsøgt at optimere
til Opera (ja, jeg skammer mig, næsten). Risikoen/chancen for at
målgruppen bruger Opera er meget, meget lille, men derfor må siden da
gerne være pæn også i den.

--
Mvh. Kim Ludvigsen

Bertel Lund Hansen (04-12-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-03 10:43

Kim Ludvigsen skrev:

>Jeg tror, det er dig, der misforstår (hvilket du måske allerede har
>opdaget efter at have besøgt siden). Brugeren bestemmer selv, hvilke
>felter han vil udfylde. Der er ingen stjernefelter

Åh, på den måde.

>Hvordan virker siden/sitet forøvrigt i Opera?

Helt fint ... [kikker på koden] ... øh, bortset fra at der slet
ikke er nogen drop ned-liste.

Problemet ved Enter er at den helst skal have samme effekt på
alle hjemmesider. Hvis du vænner folk til at de kan danse
fandango på den tast, så sender de en hulens bunke halve mails på
den næste side de besøger.

På den anden side er tasten født skizofren, for når man er nede i
tekstfeltet, kan man skifte linje med Enter uden at der bliver
sendt noget, og hvis man klikker på baggrunden på siden helt uden
for alle felterne, har den slet ingen effekt.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 11:06

Bertel Lund Hansen wrote:
>
> Kim Ludvigsen skrev:
>
> >Hvordan virker siden/sitet forøvrigt i Opera?
>
> Helt fint ... [kikker på koden] ... øh, bortset fra at der slet
> ikke er nogen drop ned-liste.

Det er menuen, du mener?
Hvad vil du som Opera-bruger foretrække? Den pågældende side uden
drop-ned, eller nødsiden som du kan finde et eksempel på her:
http://kimludvigsen.dk/indeks.html.
Det er kun forsiden, jeg har tilrettet, men den burde være nok at
bedømme efter.

--
Mvh. Kim Ludvigsen

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 11:08

Kim Ludvigsen wrote:
>
> Bertel Lund Hansen wrote:
> >
> > Kim Ludvigsen skrev:
> >
> > Helt fint ... [kikker på koden] ... øh, bortset fra at der slet
> > ikke er nogen drop ned-liste.
>
> Det er menuen, du mener?
> Hvad vil du som Opera-bruger foretrække?

Hmm, egentligt et dumt spørgsmål, hvis det kun er drop-ned'en der ikke
fungerer. Du kan godt klikke dig videre via menupunkterne?

--
Mvh. Kim ludvigsen


Bertel Lund Hansen (04-12-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-03 11:20

Kim Ludvigsen skrev:

>> Helt fint ... [kikker på koden] ... øh, bortset fra at der slet
>> ikke er nogen drop ned-liste.

>Det er menuen, du mener?

Nej, den har vi jo diskuteret. Nu kikkede jeg så på den, og
underligt nok laver Opera så bred en kasse ved "Ydelser" at den
dækker nabofelterne i menubjælken. Bortset derfra er der ikke
noget problem med den.

Men jeg kan se at der ligger en hel database med postnumre i
koden. Det opdager man ikke som Operabruger på siden.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 11:33

Bertel Lund Hansen wrote:
>
> Men jeg kan se at der ligger en hel database med postnumre i
> koden. Det opdager man ikke som Operabruger på siden.

Heller ikke med JavaScript sat til?
Det har ellers tit undret mig, at ikke ret mange benytter muligheden for
autoudfyldelse. Jeg kan forstå, at man i gamle dage skulle skrive både
by og postnummer på papirformularer, men det burde ikke være nødvendigt
på en computer.

--
Mvh. Kim Ludvigsen

Bertel Lund Hansen (04-12-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-03 12:31

Kim Ludvigsen skrev:

>> koden. Det opdager man ikke som Operabruger på siden.

>Heller ikke med JavaScript sat til?

Åh - jeg blev forvirret før fordi jeg benytter Operas mulighed
for at indsætte autotekster, og så opdagede jeg ikke at
hjemmesiden havde gjort det i forvejen.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Jens Gyldenkærne Cla~ (04-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-03 10:16

Bertel Lund Hansen skrev:

> Hvis du f.eks. PHP-koder, kan du tjekke at der ikke er tomme
> felter - du ved, som de steder hvor der er stjerner hvor man
> ikke kan sende før de er udfyldt.

Serversidevalidering (som ovenstående hører under) kan sikre at
formen ikke kan sendes hvis obligatoriske felter mangler eller
nogle felter er udfyldt i strid med valideringsreglerne.
Men indholdet i formen slettes normalt stadig. Man kan med lidt
gymnastik få serveren til at udfylde formen som den så ud før der
blev submittet, men alt indhold skal omkring serveren først.

Derfor kan man med fordel også benytte clientsidevalidering
(javascript). Det sørger for at formen ikke submittes før den
validerer i forhold til de regler man definerer i javascriptet. Med
clientsidevalidering kan man give tydelig besked om fejlen (fx en
alertboks) og sætte fokus på det (første) felt med fejl.

Eftersom javascript kan slås fra, må clientsidevalidering aldrig
stå alene - men brugt fornuftigt er det til gavn for både brugeren
(hurtigere validering) og sideudgiveren (mindre belastning på
serveren).

I ASP.NET kan man benytte webcontrols (der på klienten bliver til
formelementer) hvor valideringsmuligheden er indbygget. Det gør
bl.a. at formelementer automatisk "husker" deres værdi ved submit -
ganske praktisk i valideringsøjemed.
--
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

Bertel Lund Hansen (04-12-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-03 11:10

Jens Gyldenkærne Clausen skrev:

>Serversidevalidering (som ovenstående hører under) kan sikre at
>formen ikke kan sendes hvis obligatoriske felter mangler eller
>nogle felter er udfyldt i strid med valideringsreglerne.
>Men indholdet i formen slettes normalt stadig. Man kan med lidt
>gymnastik få serveren til at udfylde formen som den så ud før der
>blev submittet, men alt indhold skal omkring serveren først.

Man kan også bede brugeren bruge baglænsknappen.

>Derfor kan man med fordel også benytte clientsidevalidering

Ja, det kan jeg godt se.

>(javascript).

Det kan jeg derimod ikke så godt se. Sikkerheden ved JavaScript
er mig bekendt meget ringe. Men det er nok en kamp mod
vejrmøller. De forbistrede banker vælter sig i JavaScript ved
deres hjemmebanksider.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Jens Gyldenkærne Cla~ (04-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-03 11:09

Bertel Lund Hansen skrev:

> Helt fint ... [kikker på koden] ... øh, bortset fra at der
> slet ikke er nogen drop ned-liste.

Hvor skulle den også være?

Men noget helt andet er at siden er meget bar hvis man slår
javascript fra. Der er ingen default css-fil og navigationen er
også væk (det er ikke nemt at bruge 2x2pixel-billedet klik.gif til
noget uden en baggrund).
--
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

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 11:28

Jens Gyldenkærne Clausen wrote:
>
> Bertel Lund Hansen skrev:
>
> Men noget helt andet er at siden er meget bar hvis man slår
> javascript fra. Der er ingen default css-fil og navigationen er
> også væk (det er ikke nemt at bruge 2x2pixel-billedet klik.gif til
> noget uden en baggrund).

På den rigtige side er der taget højde for dette: http://emico.dk, men
her skal du helst ikke bruge formularen.

--
Mvh. Kim Ludvigsen

Jens Gyldenkærne Cla~ (04-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-03 12:00

Bertel Lund Hansen skrev:

> Man kan også bede brugeren bruge baglænsknappen.

Ja.

>>Derfor kan man med fordel også benytte clientsidevalidering

> Ja, det kan jeg godt se.

>>(javascript).

> Det kan jeg derimod ikke så godt se.

Hm - clientsidevalidering *er* javascrip hvis man benytter html i
sine formularer. Flash eller java kan muligvis valideres
anderledes, men det kræver endnu mere af browseren.

> Sikkerheden ved JavaScript er mig bekendt meget ringe.

Om det ligefrem er _meget_ ringe ved jeg ikke - men det er korrekt
at man i mange tilfælde kan omgå et javascript. Men læg mærke til
at jeg skrev "også" da jeg nævnte clientsidevalidering. Og senere
"Eftersom javascript kan slås fra, må clientsidevalidering aldrig
stå alene". Jeg har _aldrig_ anbefalet at man undlader
serversidevalidering.

Javascript/clientsidevalidering giver nogle muligheder man ikke kan
opnå serverside - først og fremmest fordi man slipper for at sende
data frem og tilbage mellem klient og server. Ved større formularer
- ikke mindst hvis der er filupload indblandet - gør det en stor
forskel i svartiden.
--
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

Allan Vebel (04-12-2003)
Kommentar
Fra : Allan Vebel


Dato : 04-12-03 01:30

Kim Ludvigsen <usenet@kimludvigsen.dk> skrev:

> Hvordan undgår jeg, at en formular sendes, når der trykkes
> på Enter?
> Den skal først sendes, når der klikkes på send-knappen.

Må vi se formularen (helst i form at et testlink, hvor der ikke
gør noget at vi sender en testmail), så er det nemmere at
fejlsøge på den?

--
Allan
http://html-faq.dk



Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 07:27

Allan Vebel wrote:
>
> Kim Ludvigsen <usenet@kimludvigsen.dk> skrev:
>
> > Hvordan undgår jeg, at en formular sendes, når der trykkes
> > på Enter?
> > Den skal først sendes, når der klikkes på send-knappen.
>
> Må vi se formularen (helst i form at et testlink, hvor der ikke
> gør noget at vi sender en testmail), så er det nemmere at
> fejlsøge på den?

Jeg har lagt en testside op på: http://kimludvigsen.dk/kontakt.htm. Lad
være med at bruge linksene i menuen, de fører til den rigtige side.

--
Mvh. Kim Ludvigsen

Jens Gyldenkærne Cla~ (04-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-03 10:22

Kim Ludvigsen skrev:

> Jeg har lagt en testside op på:
> http://kimludvigsen.dk/kontakt.htm.

Du kan lave en javascriptvalidering der kun tillader submit i et af
følgende tilfælde:

Navn + Adresse1 + postnr + by udfyldt
Navn + email udfyldt
Navn + telefon udfyldt


Det sikrer stadig ikke at folk er færdige med at udfylde formen når
den afsendes, men du slipper for halve kontaktoplysninger.

Jeg tror i øvrigt ikke du helt kan frakoble enters kobling til
submit. Men du kan - igen med javascript - smække en confirm-dialog
op når formen submittes. Det vil så (så vidt jeg kan se) gælde
uanset om man klikker på send eller trykker enter, men det giver
folk muligheden for at fortryde et submit.

Hvis du har spørgsmål til javascriptløsningerne, kan du spørge
videre i <news:dk.edb.internet.webdesign.clientside>.

--
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

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 10:31

Jens Gyldenkærne Clausen wrote:

> Jeg tror i øvrigt ikke du helt kan frakoble enters kobling til
> submit.

Øv, jeg havde håbet på en eller anden løsning i stil med:
onClickEnter=DoNotSubmit. Jeg prøver at lege lidt med dit forslag med en
confirm-dialog.

Jeg synes ellers, jeg er stødt på sider, hvor man netop skulle klikke på
submit, før der skete noget (hvilket var irriterende, fordi det var et
almindeligt søgefelt), men kan selvfølgelig ikke huske hvor.

--
Mvh. Kim Ludvigsen

Jens Gyldenkærne Cla~ (04-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-03 10:48

Kim Ludvigsen skrev:

> Jeg synes ellers, jeg er stødt på sider, hvor man netop skulle
> klikke på submit, før der skete noget (hvilket var
> irriterende, fordi det var et almindeligt søgefelt), men kan
> selvfølgelig ikke huske hvor.

O.k. - du har faktisk ret. Et opslag i msdn viser at onsubmit ikke
køres når man benytter javascript-submit. Derfor kan du opnå hvad
du vil ved at benytte onsubmit: return false; kombineret med en
onclick: formhandle.submit() på en submit-knap.

Jeg har ikke testet løsningen - og garanterer ikke at det virker i
andre browsere end IE.
--
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

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 10:59

Jens Gyldenkærne Clausen wrote:
>
> Kim Ludvigsen skrev:
>
> > Jeg synes ellers, jeg er stødt på sider, hvor man netop skulle
> > klikke på submit, før der skete noget (hvilket var
> > irriterende, fordi det var et almindeligt søgefelt), men kan
> > selvfølgelig ikke huske hvor.
>
> O.k. - du har faktisk ret. Et opslag i msdn viser at onsubmit ikke
> køres når man benytter javascript-submit. Derfor kan du opnå hvad
> du vil ved at benytte onsubmit: return false; kombineret med en
> onclick: formhandle.submit() på en submit-knap.

Fedest, tak! Selvom ovenstående er mere eller mindre sort snak for mig.
Jeg kan vel ikke få dig til at forklare det nærmere for en stakkels
Javascript-begynder som undertegnede? Evt. med et eksempel som er lige
til at klippe/klistre - så burde jeg lige kunne finde ud af det.

FUT: dk.edb.internet.webdesign.clientside

--
Mvh. Kim Ludvigsen

Jens Gyldenkærne Cla~ (04-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-03 11:46

Kim Ludvigsen skrev:

> Fedest, tak! Selvom ovenstående er mere eller mindre sort snak
> for mig. Jeg kan vel ikke få dig til at forklare det nærmere
> for en stakkels Javascript-begynder som undertegnede? Evt. med
> et eksempel som er lige til at klippe/klistre - så burde jeg
> lige kunne finde ud af det.

Værs'go: <http://gyros.dk/usenet/asp/form.asp>.

Testet i nye udgaver af IE, Mozilla og Opera. Jeg har benyttet et
tekstlink i stedet for submitknappen (primært fordi det er en
gammel testside hvor jeg lavede forsøg med tekstsubmit ;).

Hvis man vil benytte en knap i stedet, kan man gøre som her:
<http://gyros.dk/usenet/asp/formb.asp>

Uden javascript submittes formen normalt - enten ved submitknappen
eller ved tryk på enter. Med javascript submittes ikke ved enter.
--
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

Kim Ludvigsen (04-12-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 04-12-03 12:39

Jens Gyldenkærne Clausen wrote:
>
> Hvis man vil benytte en knap i stedet, kan man gøre som her:
> <http://gyros.dk/usenet/asp/formb.asp>

Jeg vil straks prøve. Tak for hjælpen!

--
Mvh. Kim Ludvigsen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste