Avatar billede falslev Nybegynder
24. september 2004 - 12:04 Der er 8 kommentarer og
1 løsning

Flyt værdi fra radiobutton til string i form ved at klik på submi

jeg har en form:
<FORM ACTION="test5.asp?id=11" ENCTYPE="MULTIPART/FORM-DATA" METHOD="POST" ID=form NAME=form>

Derudover har jeg en radiobutton:
<INPUT CLASS=td NAME=Bold TYPE=radio VALUE=0 CHECKED>
<INPUT CLASS=td NAME=Bold TYPE=radio VALUE=1>

Til sidst en Submit:
<INPUT TYPE=Submit CLASS=submit VALUE=Submit>


Mit problem er at jeg ønsker et scritp der ved at klikke på submit flytter værdien af min radiobutton op i den string som formen bliver postet til.

Eks:
<FORM ACTION="test5.asp?id=11&bold=1" ENCTYPE="MULTIPART/FORM-DATA" METHOD="POST" ID=form NAME=form>
Avatar billede fennec Nybegynder
24. september 2004 - 12:21 #1
Prøv dette:

<form ... onSubmit="this.action=this.action +'&bold='+ this.bold.value;"
Avatar billede falslev Nybegynder
24. september 2004 - 12:31 #2
Virker næsten.

Den kommer op og siger: bold=undefined
Avatar billede roenving Novice
24. september 2004 - 12:35 #3
Jeg ville godt nok gøre sådan en ting på onclick på submit-knappen, og så lige forkorte en anelse, samt tage fat i det rigtige objekt::

<input type="submit" class="submit" value="submit" onclick="this.form.action+='&bold='+((this.form.Bold[0].checked)?'0':'1');">
Avatar billede falslev Nybegynder
24. september 2004 - 12:43 #4
roenving det tror det virker.
Men hvad hvis der er flere radiobuttons med forskillige værdier?
Avatar billede falslev Nybegynder
24. september 2004 - 12:46 #5
Eks:
<INPUT CLASS=td NAME=Bold TYPE=radio VALUE=0>
<INPUT CLASS=td NAME=Bold TYPE=radio VALUE=32CD32>
<INPUT CLASS=td NAME=Bold TYPE=radio VALUE=595952>
Avatar billede roenving Novice
24. september 2004 - 12:52 #6
Det er et generelt problem med radios, checkboxe og selects med multi-værdier, de kan kun fanges ved at man på den ene eller anden måde itererer igennem ...

Så længe antallet er overskueligt, kan man forlænge den forkortede udgave af en if-sætning:

<input type="submit" class="submit" value="submit" onclick="var b = this.form.Bold;this.form.action+='&bold='+((b[0].checked)?b[0].value:(b[1].checked)?b[1].value:b[2].value);">

-- ellers skal man ud i egentligt at lave en løkke, som finder den markerede og den tilhørende værdi ...

Bemærk iøvrigt også, at jeg har brugt en måde at skrive html-kode, som er fremtidssikret, i stedet for at gøre det efter den standard, som blev forældet i 1997 !-)
Avatar billede falslev Nybegynder
24. september 2004 - 13:01 #7
roenving
Det er bare super.
Lav et svar og høst dine point.
Avatar billede roenving Novice
24. september 2004 - 13:13 #8
Velbekomme '-)

-- men behold nu de fleste point selv, for dette er ikke et problem, som er flere gange så svært som et svært spørgsmål !o]

(jævnfør anbefalingen ved oprettelse: Svært: 60p., Mellem: 30p. og Let: 15p. !-)
Avatar billede roenving Novice
24. september 2004 - 13:34 #9
Tak for point ;~}
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