Avatar billede kenneth_jakel Nybegynder
04. november 2001 - 09:33 Der er 10 kommentarer og
1 løsning

Checkbox ON - $variabel = ON

Hej
I et PHP-script har jeg en checkbox, og har brug for at hvis den er/bliver checked vil en variabels værdi længere ned i scriptet være \'on\'.

Er/bliver checkbox\'en ikke-checked vil samme variabels værdi være \'off\'.

Ret simpel JS har jeg indtryk af, jeg aner bare ikke en skid om det.

/kenneth
Avatar billede Slettet bruger
04. november 2001 - 09:52 #1
<script>
checkStat = \"off\";
</script>

<input type=\"checkbox\" onClick=\"checkStat = \'on\';\">
Avatar billede kenneth_jakel Nybegynder
04. november 2001 - 10:38 #2
Jeg skal placerer <script>-delen i <head> ikke?

min variabel hedder så $checkstat ikke?

og

Det virker realtime, så variables værdi skifter alt efter om checkboxen er/bliver check eller ej ikke?

(Jeg skal bare lige tjekke inden jeg afprøver :)

/Kenneth
Avatar billede jakoba Nybegynder
04. november 2001 - 11:09 #3
  <script>
checkStat = \"off\";
</script>

<input type=\"checkbox\" onClick=\"checkStat = (this.checked)?\'on\':\'off\';\">

hvis det skal virke både ved sæt checkmærke og fjern checkmærke.

mvh JakobA
Avatar billede kenneth_jakel Nybegynder
04. november 2001 - 18:08 #4
Jeg kan ikke rigtig få det til at virke, men det kan da være jeg gør det forkert?
Jeg sætter
<script>
checkStat = \"off\";
</script>
i <Head>

og bruges så variablen $checkStat længere nede i scriptet. $checkStat sender jeg videre til et andet script, hvor jeg forsøger at printe den, men den giver intet resultat!

/kenneth
Avatar billede Slettet bruger
04. november 2001 - 19:31 #5
Hvis os lige en url eller hele din kode! Det virker som om, du gør ét eller andet galt, men vi får se!
Avatar billede kenneth_jakel Nybegynder
04. november 2001 - 19:41 #6
OK i grov træk skal jeg anvende det sådan her:


script1.php:

<html>
<head>
<script>
checkStat = \"off\";
</script>
<head>
<body>
<form>
<input type=\"checkbox\" onClick=\"checkStat = (this.checked)?\'on\':\'off\';\">
</form>

<?
print \"<a href=\\\"script2.php?check=$checkStat\\\">videre til script2.php</a>\":
?>
</body>
</html>


script2.php:
<html>
<head>
</head>
<body>
<?
print \"$check\";
?>
</body>
</html>

/Kenneth
Avatar billede kenneth_jakel Nybegynder
04. november 2001 - 19:44 #7
og nej, jeg kan IKKE bare lave en submit knap og sætte en action på formen, det var det jeg gjorde oprindeligt, men jeg ernu blevet nødsaget til at sende variablen $check videre på den måde jeg har vist her!
Avatar billede Slettet bruger
04. november 2001 - 19:54 #8
Jeg er ikke helt sikker på, om JavaScript og PHP kan \"tale sammen\" på den måde.
Gør istedet således:

<html>
<head>
<script>
checkStat = \"off\";

function sendVidere() {
url = \"php2.php?check=\" + checkStat;
self.location.href = url;
}
</script>
<head>
<body>
<form>
<input type=\"checkbox\" onClick=\"checkStat = (this.checked) ? \'on\' : \'off\';\">
</form>

<a href=\"java script:sendVidere();\">Videre til script2.php</a>
</body>
</html>
Avatar billede Slettet bruger
04. november 2001 - 19:57 #9
Men hvad med:

<input type=\"checkbox\" name=\"check\" value=\"off\" onClick=\"this.value = (this.checked) ? \'on\' : \'off\';\">

Så behøver du intet andet end det, og så kan du sagtens bruge en submit-knap!
Avatar billede Slettet bruger
04. november 2001 - 20:26 #10
Dette lille korte script, der kun er i onClick event-handleren på checkboxen, ændrer nemlig selve dens value, og virker dermed som en slags dynamisk, men eller normal, checkbox!
Avatar billede kenneth_jakel Nybegynder
04. november 2001 - 20:31 #11
Jeg finder ud af det..tak for hjælpen :)
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