Avatar billede swaq Nybegynder
30. december 2003 - 15:56 Der er 20 kommentarer og
1 løsning

Radiobutton checked eller unchecked

Hejsa

Arbejder med 8 radiobuttons, hvor de alle hedder noget forskelligt og kan være "checked" vilkårligt.
På den anden side af den form som radio-knapperne ligger i, skal hver radiobutton være repræsenteret i en variabel med værdien 0 eller 1 - alt efter om den er valgt eller ej...

//Her er en knap
<input name="x2v" type="radio" value="0" onClick="val(this);">


//Her er funktionen som sætter værdien '1' hvis den er valgt
function val( obj ){
  if(obj.checked){
    obj.value = 1;
  }       
}

Ovenstående fungerer fint med de knapper som bliver valgt.
Værdien '0' bliver dog aldrig sendt, selvom jeg har skrevet: value="0" i input-tagget...

Spørgsmålet er så... Hvordan kan jeg have et vilkårligt antal radio-knapper med forskellige navne og sikre at de valgte får værdien 1 og de andre værdien 0 når formen sendes?
Avatar billede swaq Nybegynder
30. december 2003 - 16:00 #1
Her er eksempel på den kode som bruger formen - handleForm.php:
...
$x2v = $_POST['x2v'];
echo $x2v;
...
Ovenstående virker såfremt x2v-knappen er blevet "checked", såfremt den ikke er får jeg følgende fejl:
Notice: Undefined index: x2v in c:\http\venteliste\handleform.php on line 19

Er klar over, at der er tale om et "notice", som ikke er en fejl... men jeg vil gerne bruge formen til at sætte værdien på variablen til '0', hvis den ikke er valgt fremfor, at skulle gøre det efterfølgende i handleForm.php
Avatar billede Slettet bruger
30. december 2003 - 16:02 #2
du skal vel kalde radiobuttunsne det samme, men valuesne skal være forskellige:

<input name="navn" type="radio" value="1">
<input name="navn" type="radio" value="2">
<input name="navn" type="radio" value="3">
<input name="navn" type="radio" value="4">
<input name="navn" type="radio" value="5">

hvis 1 er valgt, vil $_POST["navn"] være 1
Avatar billede Slettet bruger
30. december 2003 - 16:03 #3
den anden måde, hvor du kalder radiobuttonsne noget forskelligt vil jo bare fungere som checkboxes..
Avatar billede 3xm Nybegynder
30. december 2003 - 16:04 #4
hvis der skal kunne vælges flere radiobuttons samtidigt, hvorfor så ikke bruge checkboxes i stedet?
Avatar billede Slettet bruger
30. december 2003 - 16:04 #5
eller er det mig, der har misforstået det hele??
Avatar billede 3xm Nybegynder
30. december 2003 - 16:06 #6
kvadro, jeg synes også det virker lidt underligt

=)
Avatar billede Slettet bruger
30. december 2003 - 16:08 #7
det kan være, der er en idé bag :)..
Avatar billede 3xm Nybegynder
30. december 2003 - 16:11 #8
jeg venter spændt på response...
Avatar billede swaq Nybegynder
30. december 2003 - 16:24 #9
ok, here goes... jeg er egentlig ligeglad om det er checkboxe eller radiobuttons, det vigtigste er at jeg kan se om de er valgt eller ej når formen sendes...
Jeg har lige prøvet med checkboxe og resultatet er det samme, hvis den er valgt bliver $x2v == on, hvis den ikke er, bliver den tom.
Avatar billede Slettet bruger
30. december 2003 - 16:26 #10
så skal du vel bare bruge isset... if(isset($_GET['navn'])){update database}
Avatar billede 3xm Nybegynder
30. december 2003 - 16:27 #11
jeg er langtfra sikker, men er det ikke fordi variablen ikke bliver sat hvis radio/checkbox ikke er valgt?
Avatar billede Slettet bruger
30. december 2003 - 16:28 #12
jo.. jeg mener kun, at den sender 'on', men ikke 'off'.. så du skal jo bare tjekke, om den er on, hvis ja, så udfør databaseopdateringen...
Avatar billede 3xm Nybegynder
30. december 2003 - 16:30 #13
*mener det samme som kvadro*
Avatar billede 3xm Nybegynder
30. december 2003 - 16:30 #14
eller kvadra

=)
Avatar billede swaq Nybegynder
30. december 2003 - 16:40 #15
hmm... ok... må bare sætte warning level ned...
Problemet er blot, at formen også anvendes til at redigere, hvorfor det ville være rart at have et eksplicit udtryk for om en knap var valgt eller ej...
Avatar billede Slettet bruger
30. december 2003 - 16:41 #16
du kan jo bare lave en lykke..
Avatar billede 3xm Nybegynder
30. december 2003 - 16:41 #17
det har du da også? isset($var)
Avatar billede swaq Nybegynder
30. december 2003 - 16:47 #18
ok... lader til at jeg må bruge en del plads i handleForm.php på at checke om de er sat eller ej... Havdet håbet at javascript eller html som sådan kunne klare det...

Tak for hjælpen :O)
Avatar billede swaq Nybegynder
30. december 2003 - 16:47 #19
Havde, even
Avatar billede swaq Nybegynder
30. december 2003 - 16:52 #20
Bedste løsning er vel så'en her:
$x2v = (isset($_POST['x2v'])) ? 1 : 0;

Hvad mener I?
Avatar billede Slettet bruger
30. december 2003 - 19:09 #21
jo.. det ser meget fornuftigt ud..
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