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

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Test for ulovligt indhold
Fra : Erik Ginnerskov


Dato : 04-01-07 14:53

Hej NG

Jeg sidder og forsøger at lave en form-validering, hvor eventuelt indhold i
et bestemt felt skal stoppe yderligere behandling af formdata og sende
brugeren til en fejlside.

Desværre sker der ikke den ønskede frasortering, formdata bliver
færdigbehandlet, trods indhold i det 'forbudte felt'.

Min stopkode ser sådan ud:

function valider()
{
if (document.forms.[0].message.value != "")
{
window.location="blokeret.html";
}

og skulle ramme feltet message i første formular i sidens kildekode.
Formularens submit-knap har jeg kodet sådan:

<input type="submit" value=" Send mail " onsubmit="valider(); return false"
/>

Jeg har forsøgt med en <input type="button" ... onclick="valider(); return
false; />, men så sker der slet ikke noget.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



 
 
Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 15:04

Erik Ginnerskov wrote:
> Hej NG
>
> Jeg sidder og forsøger at lave en form-validering, hvor eventuelt
> indhold i et bestemt felt skal stoppe yderligere behandling af
> formdata og sende brugeren til en fejlside.

Skulle måske lige for en ordens skyld give et link:

http://hjem.get2net.dk/egin/form.html

Og så har jeg ændret lidt, så det er et felt "subject" der skal blokeres
for.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Jens Gyldenkærne Cla~ (04-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-01-07 18:54

Erik Ginnerskov skrev:

> Skulle måske lige for en ordens skyld give et link:
>
> http://hjem.get2net.dk/egin/form.html

Tak.

Det er altid en god ide at tjekke for javascriptfejl i browseren -
her giver FF's javascriptkonsol følgende melding:

,--------
| Error: missing name after . operator
| Source file: http://hjem.get2net.dk/egin/form.html
| Line: 29, Column: 21
| Source code:
| if (document.forms.[0].subject.value != "")
`--------

Du har et punktum for meget (efter forms). Brug en af følgende:

document.forms[0].subject.value
document.forms[0].elements["subject"].value
document.forms["navn_på_form"].elements["subject"].value

Derudover bør du rykke kaldet til valider op til formens onsubmit-
hændelse og huske at der skal returneres enten sand eller falsk:

<form action="..." onsubmit="return valider();">

function valider(){
   if (alt_ok) {
       return true;
   } else {
       return false;
   }
}

(ovenstående kan også forkortes en del, idet man bare kan returnere
resultatet af if-kriteriet:

function valider(){
   return (document.forms[0].subject.value != "");

}

En anden praktisk generalisering er at bruge en variabel til at
angive hvilken form der er tale om:

<form action="..." onsubmit="return validate(this);">

function validate(theForm){
   return (theForm.subject.value != "");
}


Den metode gør det muligt at bruge samme funktion til forskellige
formularer (omend de feltnavne der tjekkes på skal eksistere i dem
alle).
--
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

Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 21:53

Jens Gyldenkærne Clausen wrote:

> Du har et punktum for meget (efter forms).

Jeg tror, det er ved at være på tide at få nye briller. I min javascriptbog
er der heller ikke noget punktum der.

> Brug en af følgende:
>
> document.forms[0].subject.value
> document.forms[0].elements["subject"].value
> document.forms["navn_på_form"].elements["subject"].value

I første omgang virkede ingen af de tre ændringsforlsag. Men så fik jeg den
ide at tælle parenteser og opdagede, at jeg faktisk manglede en højrevendt
tuborg-parentes. Med den indsat det rigtige sted kom det til at virke:

function valider() {
if (document.forms[0].subject.value != "") {
window.location="blokeret.html";
return false;
}
}

Alle dine efterfølgende løsningsforslag stoppede også afviklingen, når de
skulle (når bare jeg sørgede for at alle parenteser var korrekt parrede).

Nu fungerer det altså i teorien. Så kommer det store spørgsmål:

Hvad vil en sådan konstruktion, hvor feltet "subject" med css er skjult for
den almindelige bruger, kunne gøre i forhold til spambotter - afvikler
spambotter javascripts eller er det spildt arbejde?

Jeg er fuldt ud klar over, at spærringen kan klares meget let med
serverside-scripting og har også et par sider på trapperne, hvor det er
lavet med asp henholdsvis php. Men nogle hjemmesideejere har ikke den
mulighed, så ...

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Jens Gyldenkærne Cla~ (05-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-01-07 00:40

Erik Ginnerskov skrev:

> I første omgang virkede ingen af de tre ændringsforlsag. Men
> så fik jeg den ide at tælle parenteser og opdagede, at jeg
> faktisk manglede en højrevendt tuborg-parentes.

Ah - ja, jeg fik ikke afprøvet noget før jeg skrev det ;)


> function valider() {
> if (document.forms[0].subject.value != "") {
> window.location="blokeret.html";
> return false;
> }
> }

Hov - jeg ser først nu hvad du har tænkt dig med
valideringsfunktionen (normalt plejer validering at handle om at
hjælpe brugeren med at udfylde det manglende felt - her er det
spamsikring). Den sidste linje har næppe nogen effekt når du
skifter adresse i den næstsidste.


> Hvad vil en sådan konstruktion, hvor feltet "subject" med css
> er skjult for den almindelige bruger, kunne gøre i forhold til
> spambotter - afvikler spambotter javascripts eller er det
> spildt arbejde?

Jeg tror en bot skøjter helt hen over javascriptkoden - så for mig
at se er det spildt arbejde. Man kan "vende" valideringsfunktionen
således at der kun kan submittes med javascript - det vil virke for
alle almindelige brugere, mens spambotter bør få problemer
(specielt hvis du også anvender fælden i scriptet). Hvis der skal
tages hensyn til rigtige brugere uden javascriptunderstøttelse, kan
man så evt. lade blokeringssiden være en information om hvordan man
ellers kan kontakte dig (fx et telefonnummer, en postadresse eller
et kodet mailadresse).
--
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

Erik Ginnerskov (05-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 05-01-07 01:18

Jens Gyldenkærne Clausen wrote:

> Jeg tror en bot skøjter helt hen over javascriptkoden - så for mig
> at se er det spildt arbejde.

Tænkte det nok, jeg var forberedt på det. Jeg ville bare afprøve funktionen
i teorien.

> Man kan "vende" valideringsfunktionen
> således at der kun kan submittes med javascript - det vil virke for
> alle almindelige brugere, mens spambotter bør få problemer
> (specielt hvis du også anvender fælden i scriptet).

Den vil jeg kigge nærmere på. Det er ærgerligt for dem, der ikke kan køre
serverside, hvis de ikke kan beskytte sig mod spamming.

> så evt. lade blokeringssiden være en information om hvordan man
> ellers kan kontakte dig (fx et telefonnummer, en postadresse eller
> et kodet mailadresse).

Det er nu ikke mig, der skal kunne kontaktes. Jeg har en fin formmail i asp.

Men jeg vil nævne det, når jeg skriver om den rene javascriptløsning - når
jeg har fået det til at funke. Foreløbig vil skrive, at det i praksis ikke
er noget værd med den viste løsning - og hvorfor.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Jens Gyldenkærne Cla~ (05-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-01-07 02:49

Erik Ginnerskov skrev:

> Den vil jeg kigge nærmere på. Det er ærgerligt for dem, der
> ikke kan køre serverside, hvis de ikke kan beskytte sig mod
> spamming.

Ja. Man kan dog også bare gå tilbage til den ultrasimple
kontaktside - hvor man angiver et godt gammeldags link til en
mailadresse. Hvis man benytter en mailadresse man kan tåle at miste
eller udskifte, og bruger en tjeneste med effektiv spamfiltrering
(fx GMail), er det i mine øjne slet ikke så tosset.

Det kunne være man skulle eksperimentere med sådan en side (et par
links til forskellige mailadresser, med og uden (mailbaseret)
spamfiltrering og evt. med nogle af de gammelkendte
kodningsteknikker på nogle af dem. Så kunne man tjekke tiden til
første spamindlæg, gennemsnitlig mængde efter 1 måned og - nok så
væsentligt - mængden af spam der ikke fanges af filtreringen.

> Det er nu ikke mig, der skal kunne kontaktes. Jeg har en fin
> formmail i asp.

Det er jeg klar over. Jeg synes bare det blev for besværligt at
skrive "sideejeren", "kontaktformularmodtageren" eller lignende.
--
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

Erik Ginnerskov (05-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 05-01-07 21:42

Jens Gyldenkærne Clausen wrote:

> Det kunne være man skulle eksperimentere med sådan en side (et par
> links til forskellige mailadresser, med og uden (mailbaseret)
> spamfiltrering og evt. med nogle af de gammelkendte
> kodningsteknikker på nogle af dem. Så kunne man tjekke tiden til
> første spamindlæg, gennemsnitlig mængde efter 1 måned og - nok så
> væsentligt - mængden af spam der ikke fanges af filtreringen.

Jeg har en sådan adresse liggende hos tele2. Adressen er ca. 10 år gammel.
Jeg har for længe siden opgivet at holde regnskab med mængden af spam, der
bliver fanget af filteret - det bliver sendt direkte til de evige
elektronmarker.

Men der er da mellem 2 og 5 stykker hver uge, der sniger sig udenom
filteret - heri er ikke medregnet de mails, som jeg kan identificere som
værende afsendt fra de testformularer, jeg har liggende.

Jeg har forsøgt mig med at lægge submit-funktionen ud i javascriptet, som du
foreslog. Det ville ikke lykkes for mig, sikkert fordi jeg griber det helt
forkert an. Jeg har ikke kunnet finde noget om det i min javascriptbog, så
jeg prøvede dette:

function valider(theForm)
{
if (theForm.subject.value == "") {
return true;
} else {
window.location="blokeret.html";
return false;
}
if (theForm.[feltnavnnavn].value == "") { /* gange 4*/
alert ("Du har ikke udfyldt [feltnavn]");
theForm.[feltnavn].focus();
return false;
}
window.location="/cgi-bin/formmail";
}

og i formens starttag erstattede jeg #/cgi-bin/formmail" med "#". Det kom
der slet ikke noget ud af, hverken på den ene eller anden måde.

> Hvis der skal tages hensyn til rigtige brugere uden
> javascriptunderstøttelse, kan man så evt. lade blokeringssiden
> være en information om ...

Den har jeg tænkt lidt over og finder det lidt ulogisk. Uden
javascriptunderstøttelse, kommer man da aldrig videre til blokeret.html -
uanset om 'man' er en almindelig bruger eller en spambot.

Jeg har overvejet en anden løsning - at lade javascript udskrive formularens
starttag, som indeholder sti til det cgi-script, som viderebehandler
formdata (samme model som jeg bruger til at inkludere menuen på siderne i
min get2net-filial).

Uden javascript-understøttelse vil en spambot ikke kunde submitte nogen
steder hen - formularen vil være død. Almindelige brugere kan på
formularsiden informeres om at formularen kræver understøttelse af
javascript.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Jens Gyldenkærne Cla~ (06-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-01-07 20:57

Erik Ginnerskov skrev:

> Jeg har en sådan adresse liggende hos tele2. Adressen er ca.
> 10 år gammel.

Hvordan (og hvor meget) har den været brugt?

Ideen med en test skulle være at se hvor hurtigt det går i dag -
samt hvor effektive diverse udbyderspamfiltre er.


> Jeg har forsøgt mig med at lægge submit-funktionen ud i
> javascriptet, som du foreslog. Det ville ikke lykkes for mig,
> sikkert fordi jeg griber det helt forkert an.

Ja. En googling på "javascript submit form" giver masser af
eksempler. Tricket er at kalde formens submit-metode.


> function valider(theForm)
> {
> if (theForm.subject.value == "") {
> return true;
> } else {
> window.location="blokeret.html";
> return false;
> }

Fejl 1 - du skal ikke bruge return når du ikke er færdig med
funktionen.


> window.location="/cgi-bin/formmail";

Fejl 2 - når du bare skifter adressen til formhandleren får du
ingen af formværdierne med. Det svarer til at du åbner et nyt
browservindue med formhandleradressen.

Hvis det er en GET-formular, kan du lægge formværdierne ind i
kaldet til location (med querystring) - men det er langt enklere at
bruge FormReference.submit() - som også virker på en postformular



>> Hvis der skal tages hensyn til rigtige brugere uden
>> javascriptunderstøttelse, kan man så evt. lade
>> blokeringssiden være en information om ...

> Den har jeg tænkt lidt over og finder det lidt ulogisk. Uden
> javascriptunderstøttelse, kommer man da aldrig videre til
> blokeret.html

Prøv at se eksemplet her:

<form action="blokeret.html"
onsubmit="javascriptfunktion_der_submitter_til_mailhandler">


Javascriptet kan ændre actionparameteren til noget andet så let som
ingenting.


> Jeg har overvejet en anden løsning - at lade javascript
> udskrive formularens starttag,

Den løsning tror jeg ikke er så effektiv - jeg har på fornemmelsen
at det er lettere at få en bot til at håndtere simple
javascriptudskrivningen end det er at få den til at håndtere
funktionskald - og hvis det er rigtigt, vil udskrivningen af af
form-elementet med javascript ikke være så sikkert som den anden
metode.


--
Jens Gyldenkærne Clausen
»Diplomatiet består netop i, at de gamle kommatister kan få lov til
at tro, at de har vundet. Men i virkeligheden har de tabt.«
Ole Togeby i Information

Erik Ginnerskov (06-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 06-01-07 22:25

Jens Gyldenkærne Clausen wrote:

>> Jeg har en sådan adresse liggende hos tele2. Adressen er ca.
>> 10 år gammel.
>
> Hvordan (og hvor meget) har den været brugt?

Adressen har så godt som ikke været brugt. Det var den første, jeg
overhovedet oprettede, men jeg nåede næsten ikke at bruge den.

Kort derefter oprettede jeg en anden - tilknyttet samme hjemmeside - men
kortere (og som i en periode var min aktive adresse). Den måtte jeg helt
opgive at bruge for flere år side, da der var op mod hundrede spammail
dagligt - det var før tele2 satte spamfilter på.

> Ideen med en test skulle være at se hvor hurtigt det går i dag -
> samt hvor effektive diverse udbyderspamfiltre er.

Det er mit indtryk, at både filteret hos tele2 og hos tdc er ganske
effektivt. Der er ikke meget, der slipper igennem. Hos tdc kan man desuden
rapportere det, der er sluppet igennem, som værende spam og samme afsender
er (burde være) fremover blokeret.

Derimod er jeg ikke imponeret over filteralgoritmen hos azero. Der er for
meget reelt, der bliver stemplet som spam - og samtidig bliver mailen - hvis
den er i html-format - mishandlet groft, så den næsten er ulæselig efter
download. Jeg har måttet frabede mig automatisk filtrering på min adresse og
tjekker i stedet over web (sletter spam på serveren), før jeg henter hjem
med OE.

> Hvis det er en GET-formular, kan du lægge formværdierne ind i
> kaldet til location (med querystring) - men det er langt enklere at
> bruge FormReference.submit() - som også virker på en postformular

Som jeg har forsøgt at bygge det op nu, kan jeg ikke få lov til at benytte
metoden POST

> Prøv at se eksemplet her:
>
> <form action="blokeret.html"
> onsubmit="javascriptfunktion_der_submitter_til_mailhandler">

Det har jeg lavet nu og mit script ser herefter sådan ud (forkortet):

function valider(theForm)
{
if (theForm.subject.value != "") {
return true;
}
if (theForm.navn.value == "") {
alert ("Du har ikke udfyldt Navn");
theForm.navn.focus();
return false;
}
.....
theForm.action="/cgi-bin/formmail";
theForm.submit();
}

Hvis der er skrevet noget i det forbudte felt, bliver jeg sendt til
'blokeret.html' - så langt så godt. Hvis det forbudte felt er tomt, får jeg
en get2net-genereret fejlside:

<citat>
Fejl: Forkert/ingen modtager
Der var ingen modtager eller ulovlig modtager specificeret i data sendt til
FormMail. Hvis siden er ny, kan det tage op til 24 timer før
modtageradressen er tilføjet til listen over adresser der må sendes til via
FormMail.
</citat>

Det er godt nok noget vrøvl, adressen er som tidligere nævnt adskillige år
gammel og siden har ligget der det meste af en uge. Siden har virket, før
jeg begyndte at flytte submit-funktionen op i javascriptet.

>> Jeg har overvejet en anden løsning - at lade javascript
>> udskrive formularens starttag,
>
> jeg har på fornemmelsen
> at det er lettere at få en bot til at håndtere simple
> javascriptudskrivningen end det er at få den til at håndtere
> funktionskald - og hvis det er rigtigt, vil udskrivningen af af
> form-elementet med javascript ikke være så sikkert som den anden
> metode.

Men jeg ville jo stadig have det skjulte felt, som botten lokkes til at
udfylde. Any way, nu forsøger jeg at få det til at fungere som du foreslår.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Jens Gyldenkærne Cla~ (06-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-01-07 23:34

Erik Ginnerskov skrev:

> Som jeg har forsøgt at bygge det op nu, kan jeg ikke få lov
> til at benytte metoden POST

Er det formhandleren der ikke vil acceptere post eller er det
javascriptet?

(jeg kan også bare spørge om du anvendte GET eller POST før hele
javascriptgymnastikken).


> Hvis der er skrevet noget i det forbudte felt, bliver jeg
> sendt til 'blokeret.html' - så langt så godt. Hvis det
> forbudte felt er tomt, får jeg en get2net-genereret fejlside:

Det ser godt nok mærkeligt ud. Jeg har prøvet at ændre GET til POST
via WebDeveloper-udvidelsen, men det giver ikke noget.

Man kan evt. tjekke hvad der kommer med (og evt. ikke kommer med)
ved at lave en asp-side der viser dels form-variable fra
afsendersiden (scriptet kan godt ligge på en anden server - bare
ret action-parameteren).
--
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

Erik Ginnerskov (07-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 07-01-07 01:02

Jens Gyldenkærne Clausen wrote:

> Er det formhandleren der ikke vil acceptere post eller er det
> javascriptet?

Jeg formoder, det er scriptet.

> (jeg kan også bare spørge om du anvendte GET eller POST før hele
> javascriptgymnastikken).

Der brugte jeg POST

> Man kan evt. tjekke hvad der kommer med (og evt. ikke kommer med)
> ved at lave en asp-side der viser dels form-variable fra
> afsendersiden (scriptet kan godt ligge på en anden server - bare
> ret action-parameteren).

Det vil jeg prøve at lege lidt med i weekenden, hvis formularen ikke bliver
åbnet hos get2net. Jeg har i mellemtiden prøvet at omskrive
cgi-adresseringen og lægge formularen over til tdc. Der får jeg dette retur
ved 'korrekt' udfyldt formular (forbudte felt tomt):

You sent us the following data:
Please return to

.... men der blev ikke sendt nogen egentlig mail, kun denne besked fra

webmaster snabela cgi dot inet dot tele dot dk:

This data was submitted on: Sunday, January 7, 2007 at 00:46:22

De indtastede data kom ikke med.

http://home19.inet.tele.dk/egin/form.html

Jeg lavede så en helt simpel formular uden javascript og testede med den.
Den kunne godt sende en mail.

http://home19.inet.tele.dk/egin/formular.html

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Jens Peter Karlsen [~ (04-01-2007)
Kommentar
Fra : Jens Peter Karlsen [~


Dato : 04-01-07 15:55

Din return false er placeret det forkerte sted.
Der skal kun returneres false hvis valideringen fejler og ikke som nu
uanset om den fejler. Så flyt det til funktionen:

function valider()
{
if (document.forms.[0].message.value != "")
{
window.location="blokeret.html";
return false;
}

On Thu, 4 Jan 2007 14:53:06 +0100, "Erik Ginnerskov"
<erik@donotspammeplease.invalid> wrote:

><input type="submit" value=" Send mail " onsubmit="valider(); return false"
>/>

Erik Ginnerskov (04-01-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-01-07 16:21

Jens Peter Karlsen [FP-MVP] wrote:
> Din return false er placeret det forkerte sted.
> Der skal kun returneres false hvis valideringen fejler og ikke som nu
> uanset om den fejler. Så flyt det til funktionen:
>
> function valider()
> {
> if (document.forms.[0].message.value != "")
> {
> window.location="blokeret.html";
> return false;
> }

Det ændrede desværre ikke noget. Der bliver stadig afsendt en mail, selv om
det forbudte felt ikke er tomt.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Martin (05-01-2007)
Kommentar
Fra : Martin


Dato : 05-01-07 02:44

Erik Ginnerskov wrote:
> Hej NG
>
> Jeg sidder og forsøger at lave en form-validering, hvor eventuelt indhold i
> et bestemt felt skal stoppe yderligere behandling af formdata og sende
> brugeren til en fejlside.
>
> Desværre sker der ikke den ønskede frasortering, formdata bliver
> færdigbehandlet, trods indhold i det 'forbudte felt'.
>
> Min stopkode ser sådan ud:
>
> function valider()
> {
> if (document.forms.[0].message.value != "")
> {
> window.location="blokeret.html";
> }
>
> og skulle ramme feltet message i første formular i sidens kildekode.
> Formularens submit-knap har jeg kodet sådan:
>
> <input type="submit" value=" Send mail " onsubmit="valider(); return false"
> />

Skal denne ikke være i <form> tagget?
altså
<form id="form" onsubmit="return valider();" ....>

function valider() {
if (document.getElementById["form"].message.value != "") {
window.location="blokeret.html";
} else {
return true;
}


>
> Jeg har forsøgt med en <input type="button" ... onclick="valider(); return
> false; />, men så sker der slet ikke noget.
>

Jens Gyldenkærne Cla~ (05-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-01-07 03:13

Martin skrev:

>> <input type="submit" value=" Send mail " onsubmit="valider();
>> return false" />
>
> Skal denne ikke være i <form> tagget?

Jo - onsubmit er kun gyldig i form-elementet (den virker dog nok
også i andre formelementer på grund af browserens tilgivende
natur).

Alternativt kan man bruge onclick på submitknappen:

<input type="submit" onclick="return valider()">

- men så valideres der (så vidt jeg husker) ikke hvis brugeren
trykker 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

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

Månedens bedste
Årets bedste
Sidste års bedste