Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 10:54 Der er 12 kommentarer og
1 løsning

Variabel som ses af PHP og Java script

Hvordan, og hvor sætter jeg en variabel som på samme side kan ses både af et PHP script i body, samt i en Function lavet i javascript i Head. Variablen bliver i min Function sat False eller True (skal den så sættes som Boolean og hvordan?).
Avatar billede medions Nybegynder
24. august 2005 - 10:56 #1
Kaster værdien af variablen ind i et tekstfelt og henter værdien derfra ind i JavaScript...

//>Rune
Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 11:38 #2
Min Function ER Javascriptet. Det er PHP scriptet i body der skal se variablen ved reload.
Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 11:47 #3
Måske er det mit javascript der er fejl i. Jeg har ikke den fjerneste forstand på JS.

Bliver skjul sat rigtigt her:

var VisUnikID = true;
var sss;
var skjul;
function VisSkjul(sss){
    if(document.getElementById){document.getElementById(sss).style.visibility = (VisUnikID)?"hidden":"visible"; Skjul = "0";}
    else{document.all[sss].style.visibility = (VisUnikID)?"hidden":"visible"; Skjul = "1";}
    VisUnikID = !VisUnikID;
}
Avatar billede jaw Nybegynder
24. august 2005 - 12:03 #4
Ved ikke heeelt hvad du mener, og er ikke javascript-haj, men:

$variabel = "test";

<script>
  var variabel = <?=$variabel;?>;
</script>

?
Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 12:12 #5
Jeg har en table jeg skal have vist/skjult.

Teksten i denne table kommer fra en MySql database.

Problemet er at min Table godt nok bliver skjult med ovenstående javascript (height er sat til "1"), men den optager lige meget plads, selvfølgelig fordi teksten stadig er der, bare skjult. Derfor vil jeg reloade siden, skjule min Table og sætte teksten i Tablen til <ingenting>.
Avatar billede jaw Nybegynder
24. august 2005 - 12:15 #6
Hvorfor så ikke styre det gennem adresselinien f.eks. ?

Altså:

fil.php?vis=0

if($_GET['vis'] != 0) {
  //koden der udskriver teksten og tablen
}
Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 12:20 #7
Her er mit princip

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">



<script>
<!--

var VisUnikID = true;
var sss;
var Skjul;
function VisSkjul(sss){
    if(document.getElementById){document.getElementById(sss).style.visibility = (VisUnikID)?"hidden":"visible"; Skjul = "0";}
    else{document.all[sss].style.visibility = (VisUnikID)?"hidden":"visible"; Skjul = "1";}
    VisUnikID = !VisUnikID;
}

//-->
</script>

</head>

<body>


//kode her som henter tekst fra MySql


<table width="100%" height="1" border="1" ID="1000">
  <tr>
    <td height="1">&nbsp;
      <h6>
    <?php
        if ($_GET['Skjul'] == "1") {
            $tekst = $row["tekstId"] ;
            $tekstbrudt =  nl2br($tekst);
            echo $tekstbrudt;
        }
        else
        {
            echo $_GET['Skjul'] ;
        }
        ?>
</h6></td>
  </tr>
</table>
</body>
Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 12:23 #8
Hvis jeg eksempelvis skal skifte mellem minfil.php?vis=0 og minfil.php?vis=1, skal det jo stadig foregå gennem mit script, og jeg skal stadig kunne overføre min variabel mellem JS og PHP
Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 12:26 #9
Skal min variabel måske erklæres globalt i mit JS, og hvordan?
Avatar billede jaw Nybegynder
24. august 2005 - 12:26 #10
Nej da!

Så har du vel en knap (link) brugeren skal trykke på:

if($_GET['skjul'] == 1) {
  echo"<a href='".$_SERVER['PHP_SELF']."?skjul=0'>Skjul</a>";
} else {
  echo"<a href='".$_SERVER['PHP_SELF']."?skjul=1'>Vis</a>";
}

Du kan selvfølgelig bare droppe id-else'n og smide det ind i den du allerede har, men mere for at forstå princippet. Så vil du skifte adresselinien mellem ?vis=0 og ?vis=1
Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 12:43 #11
Det er et forum det drejer sig om. Ved klik på overskriften vises/skjules teksten/indlægget

Jeg har tilsyneladende fundet en bedre metode til at vise/skjule min tekst, og det uden reload. http://eksperten.dk/spm/534968.


<span style="cursor:pointer;" onclick="var d=document.getElementById('minDiv').style;d.display=(d.display!='block')?'block':'none';">Vis/skjul div</span>
<div id="minDiv" style="display:none;cursor:pointer;" onclick="this.style.display='none';">
Dette er skjult indtil du trykker, og skjules igen, hvis du trykker !-)</div>

Vender tilbage hvis det ikke virker.
Avatar billede gider_ikke_mere Nybegynder
24. august 2005 - 14:09 #12
Det virker superb.

Hvis der er nogen der kan give mig løsningen på mit oprindelige spørgsmål, giver jeg gerne pointene væk!
Avatar billede gider_ikke_mere Nybegynder
10. september 2005 - 01:28 #13
Lukker snart!
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