Avatar billede goose Nybegynder
17. oktober 2008 - 09:09 Der er 17 kommentarer og
1 løsning

to elementer i onsubmit

Jeg bruger denne i en formular som disabler submit knappen når man først har klikket én gang og åbner i et opoup vindue:

<form method="Post" target="thisWindow" action="do_pay.asp" onSubmit="this.submit1.disabled=true;window.open('','thisWindow','width=700,height=500');">

Det virker ok.

Nu er det således, at der ført skal valideres på, om der er vinge i en checkbox med navnet "accept", men hvordan skal/kan det bygges ind i forbindelse med ovenstående?

Altså, checkboksen skal være afvinget før formen kan submittes og når der bliver submittet, så skal knappen disables.

/Goose
Avatar billede majbom Novice
17. oktober 2008 - 09:16 #1
onSubmit="if(this.chk1.checked=true){this.submit1.disabled=true;window.open('','thisWindow','width=700,height=500');}else{alert('du skal sætte hak i \"accept\"!')"
Avatar billede majbom Novice
17. oktober 2008 - 09:17 #2
hov

onSubmit="if(this.chk1.checked=true){this.submit1.disabled=true;window.open('','thisWindow','width=700,height=500');}else{alert('du skal sætte hak i \"accept\"!');}"
Avatar billede goose Nybegynder
17. oktober 2008 - 09:29 #3
Hmm, så sætter den selv vingen i checkboksen og submitter formularen, det var meningen, at brugeren manuelt skulle sætte vingen?

/Goose
Avatar billede majbom Novice
17. oktober 2008 - 09:51 #4
hehe der skal lige et ekstra lighedstegn mellem checked og true:

onSubmit="if(this.chk1.checked==true){this.submit1.disabled=true;window.open('','thisWindow','width=700,height=500');}else{alert('du skal sætte hak i \"accept\"!');}"

sådan :)
Avatar billede goose Nybegynder
18. oktober 2008 - 10:19 #5
Det virker altså ikke, nu kommer den godt nok med alerten, men når man så klikker på OK i alerten, så submitter den formen uden af checkboksen er afvinget?

/Goose
Avatar billede roenving Novice
18. oktober 2008 - 10:22 #6
-- der mangler også aflysningen af normal-reaktion:

onSubmit="if(this.chk1.checked==true){this.submit1.disabled=true;window.open('','thisWindow','width=700,height=500');}else{alert('du skal sætte hak i \"Accept\"!');return false;}"
Avatar billede goose Nybegynder
18. oktober 2008 - 10:26 #7
Okay, hvis jeg sætter en return (false) efter alerten, så ser det ud til at det virker, men er det den korrekte syntax?

onSubmit="if(this.chk1.checked==true){this.submit1.disabled=true;window.open('','thisWindow','width=700,height=500');}else{alert('du skal sætte hak i \"accept\"!');return (false);}"

/Goose
Avatar billede roenving Novice
18. oktober 2008 - 11:23 #8
Næh, det er overflødigt at sætte paranteser om false, og ved at se den igen, faldt jeg også over et par småting ...

onsubmit="if(this.chk1.checked){this.submit1.disabled=true;window.open('','thisWindow','width=700,height=500');}else{alert('du skal sætte hak i \"Accept\"!');return false;}"

-- alle attributter i et html-element må kun indeholde små bogstaver og det er overflødigt at foretage en sammenligning med en boolean (logisk) værdi, den er i forvejen true eller false !o]

-- at vi så har fat i DOM level 1 syntaks, som ikke dur, når vi engang får en fungerende xhtml på banen (bare roligt, det bliver hverken i år !-), er så en anden ting, der kan kræve lidt ændringer ...
Avatar billede goose Nybegynder
18. oktober 2008 - 13:59 #9
Takker roenving, havde ikke lige set din kommentar omkring return false inden jeg skrev kl. 10:26:04.

Vil du have del i pont eller?

/Goose
Avatar billede majbom Novice
18. oktober 2008 - 14:06 #10
ja, roenving nogle points osse, han kom med nogle vigtige rettelser til min kode osse :)
Avatar billede roenving Novice
18. oktober 2008 - 15:55 #11
Hvis jeg havde været den eneste, der var kommet med noget i spørgsmålet havde jeg bedt dig om at beholde de fleste point selv ...

-- men det at rette et par tavetosser o.l. synes jeg ikke skal udløse en masse point, så nej tak, ellers tak !-)
Avatar billede majbom Novice
18. oktober 2008 - 19:35 #12
well, vis roenving ikke vil have nogen point, så læg selv et svar og tag nogle af dem selv :)
Avatar billede majbom Novice
18. oktober 2008 - 19:36 #13
hvis*
Avatar billede goose Nybegynder
18. oktober 2008 - 22:37 #14
Jeg takker for jeres hjælp, og svaret var mere end 200 point værd for mig, så det er helt ok.

/Goose
Avatar billede majbom Novice
19. oktober 2008 - 19:20 #15
hvis du virkelig mener at du vil give 200 points for svaret, skal du lige acceptere...
Avatar billede roenving Novice
20. oktober 2008 - 07:38 #16
Marker navnet i boksen til venstre og tryk på Acceptér !-)
Avatar billede goose Nybegynder
20. oktober 2008 - 09:23 #17
Ja det var sg* en smutter fra mig, at jeg ikke fik markeret navnet inden jeg sendte :o/

/Goose
Avatar billede majbom Novice
20. oktober 2008 - 09:29 #18
takker for point, selvom det er lige i overkanten :0)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester