php variabele in javascriptje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arnold C

Arnold C

21/03/2009 19:54:00
Quote Anchor link
Hallo php-ers,

Ik probeer de waarde van een variabele te gebruiken in een javascriptje, maar het werkt niet. Ik doe iets fout, maar ik kan het niet vinden.

Het gaat hierom. In mn index.php maak ik een knopje met de class="terug". Wanneer dit knopje wordt geklikt moet een bepaalde functie uit het javascript ervoor zorgen dat de gebruiker weer het juiste scherm krijgt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$html
.= "<input type=\"button\" class=\"terug\" value=\"Terug naar overzicht\"/></td></tr></table>";
?>


En in een extern bestandje scripts.js, heb ik nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$('.terug').click(function() {
// $('.terug') kan dankzij jquery
        var plaats = '<?php echo $plaats;?>';
        var groep_ID= '<?php echo $groep_ID;?>';
        self.location='index.php?navigatie=menuAdministratie|kindScherm&plaats=' + plaats + '&groep_ID=' + groep_ID;
    });


Maar dit werkt niet. Ik snap het niet. Wanneer ik in dat javascriptje gewoon rechtstreeks zeg:
var plaats = "Amsterdam";
var groep_ID = 1;
Dan werkt het......

Waar zit mn denkfout?

Dank bij voorbaat voor bruikbaar advies!
Gewijzigd op 01/01/1970 01:00:00 door Arnold C
 
PHP hulp

PHP hulp

26/04/2024 20:55:31
 
Emmanuel Delay

Emmanuel Delay

21/03/2009 21:11:00
Quote Anchor link
Probeer het zo eens:

Zet gewoon de javascript variabelen tussen <script></script>.

Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$plaats
= 'Amsterdam';
$groep = 1;
$jsVars = "
var plaats = '"
. $plaats  ."';
var groep_ID = "
. $groep .";
"
;
$body = '<div id="test" onClick="this.innerHTML= plaats+\' \'+groep_ID; " style="cursor: pointer;">klik om te testen of de variabelen juist zijn</div>';
echo '
<html>
  <head>
    <script src="jquery.js" language="javascript" type="text/javascript"></script>
    <script>'
. $jsVars .'</script>
    <script src="scripts.js" language="javascript" type="text/javascript"></script>
  </head>
  <body>
    '
. $body .'
  </body>
</html>
'
;
?>


Goed oppassen waar en wanneer je ' en " gebruikt.

Als je nog toffere dingen wil doen, kan je ook eens naar JSON zoeken.
 
Arnold C

Arnold C

22/03/2009 11:16:00
Quote Anchor link
Dank! Jouw voorbeeld doet het in ieder geval, al snap ik nog niet precies wat er gebeurt.

Ik wil eigenlijk heel graag proberen om alle javascript in een apart bestandje te houden (scripts.js). In dit voorbeeld loopt de javascript toch door de html / php code heen.....misschien kan het niet anders.

Toen ik googlede op "php string to javascript" vond ik dit stukje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<script>
  var myvar = "<?php echo $myVarValue;?>";
</script>


Ik hoopte dat ik dat zou kunnen doen in een extern (apart) javascript bestandje....maar dat lukt me dus niet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$('.terug').click(function() {
// var plaats = "Amsterdam";
// var groep_ID = 1;
        var plaats = '<?php echo $plaats;?>';
        var groep_ID= '<?php echo $groep_ID;?>';
        self.location='index.php?navigatie=menuAdministratie|kindScherm&plaats=' + plaats + '&groep_ID=' + groep_ID;
    });


Hoe kan ik dit het beste aanpakken.....of MOET nu de javascript wel in mn php bestand worden opgenomen?
 
Tikkes C

Tikkes C

22/03/2009 11:19:00
Quote Anchor link
moet in het php bestand.

je kan ook geef kat zwanger maken met een hond ;)
 
Arnold C

Arnold C

22/03/2009 13:27:00
Quote Anchor link
Ik vreesde al zoiets!

Ik heb nu de gegevens in een hidden formulierveld gestopt......de waarde daarvan kan ik wel oppikken.....iets omslachtig, maar het werkt!
 
Ed

Ed

22/03/2009 14:03:00
Quote Anchor link
Heel omslachtig, je kan ook gewoon Onclick op de button toepassen, hoeft niet een externe function call te zijn, maar direct de forward.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.