Avatar billede googolplex Novice
30. december 2004 - 03:07 Der er 15 kommentarer og
1 løsning

Submit form vha. checkbox

Jeg har en lang række checkbox'es i en formular. 5 af disse checkbox'e skal submitte formularen når de hakkes af (eller når hakket fjernes).

Hvordan gør jeg det ?
Avatar billede googolplex Novice
30. december 2004 - 03:15 #1
Fandt dette:

onchange="java script:this.form.submit();"

Kan det gøres anderledes ?

Jeg tænker på denne del:

this.form

Synes jeg fik at vide et sted, at man bør gøre det på en anden måde (noget med form[0]), men kan ikke huske det...
Avatar billede ezzer Nybegynder
30. december 2004 - 03:22 #2
hey.. det du har fundet der virker helt fint.. det er ihvertfald det jeg plejer at bruge.. men ved ikke om det er fordi hvis man har mere end en form.. men kunne jeg ikk helt forestille mig..
Avatar billede yellow Nybegynder
30. december 2004 - 08:43 #3
this.form er den pæneste måde at gøre det på, så du er helt på rette spor...
Du hehøver dog ikke "java script:"
Bare: onchange="this.form.submit();"
Avatar billede googolplex Novice
30. december 2004 - 08:57 #4
Kan du så ikke lige svare mig på følgende i stedet/også:

Er der nogen (sikker!) måde hvorpå jeg kan skelne om en form er submittet via this.form.submit() eller via <input type="submit" name="send" value"Godkend" /> ?
Avatar billede yellow Nybegynder
30. december 2004 - 09:08 #5
Ingen direkte funktionalitet så vidt jeg ved, men...
<input type="hidden" name="submitType" value="knap">
<input type="checkbox" onchange="this.form.submitType.value='script';this.form.submit();">

så kan du på serversiden checke om værdien af submitType er 'knap' eller 'script'...
Avatar billede googolplex Novice
30. december 2004 - 09:11 #6
Så vidt jeg kan se bliver en submit knaps værdi selt ikke sat med mindre man trykker direkte på knappen, i mit tilfælde ville $send variablen bare være tom ?

Læg et svar :)
Avatar billede yellow Nybegynder
30. december 2004 - 09:14 #7
ok..tænkte selv på den med værdien af submit-knappen, men var ikke sikker på om andre browsere end IE evt. kunne finde på at sende den med ved script-submit.
Avatar billede googolplex Novice
30. december 2004 - 09:18 #8
Hmm, har kun testes med Firefox.
Avatar billede googolplex Novice
30. december 2004 - 09:25 #9
LOL, onchange=\"this.form.send.value='script';this.form.submit();\" Virker slet ikke i IE, hvad er nu det for noget hø ??
Avatar billede yellow Nybegynder
30. december 2004 - 09:30 #10
hmm..onchange bliver først triggered når checkboksen mister fokus efter den er blevet changed ><
Avatar billede yellow Nybegynder
30. december 2004 - 09:31 #11
brug evt. onclick istedet
Avatar billede googolplex Novice
30. december 2004 - 09:33 #12
Jeg har både en onclick og en onchange i samme checkbox, kan det være derfor ?

<input onchange="this.form.send.value='script';this.form.submit();" name="__php" type="checkbox" value="1" onclick="if (this.checked) { this.form['php'].value='yes'; }else { this.form['php'].value='no'; } " />
Avatar billede googolplex Novice
30. december 2004 - 09:35 #13
Jep, lavede dem begge til onclick, nu funker det :)
Avatar billede roenving Novice
30. december 2004 - 12:52 #14
Hvorfor ikke slå det sammen !-)

<input name="__php" type="checkbox" value="1" onclick="if(this.checked) this.form['php'].value='yes'; else this.form['php'].value='no';this.form.submit(); " />
Avatar billede olebole Juniormester
30. december 2004 - 14:59 #15
<ole>

Der er flere måder at submitte en form på - hvorfor det kan være svært for serveren at afgøre, hvordan det skete. Om det skete via JS, kan dog altid ret let checkes, da onsubmit-event'en *aldrig* fyres af, når formen submittes via JS - men i alle andre tilfælde:

<form ........ onsubmit="this.nojs.value=true">
<input type="hidden" name="nojs" value="false">
... osv, osv ...
</form>

Når formen ankommer til serveren vil variablen 'nojs' have værdien 'false', hvis formen blev submittet med JavaScript - og 'true', hvis den blev submittet uden JS.

/mvh
</bole>
Avatar billede googolplex Novice
30. december 2004 - 16:46 #16
Ok tak!!

Faktisk slog HTML_QuickForm selv de 2 onclicks sammen, det var jeg faktisk ret imponeret over :)
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